Cleanup.
This commit is contained in:
parent
402459d997
commit
4d947f5b6f
1 changed files with 18 additions and 15 deletions
|
@ -73,19 +73,22 @@ namespace arookas
|
||||||
|
|
||||||
class sunScope
|
class sunScope
|
||||||
{
|
{
|
||||||
List<sunStorableSymbol> storables = new List<sunStorableSymbol>(10);
|
List<sunStorableSymbol> Storables { get; set; }
|
||||||
|
IEnumerable<sunVariableSymbol> Variables { get { return Storables.OfType<sunVariableSymbol>(); } }
|
||||||
|
IEnumerable<sunConstantSymbol> Constants { get { return Storables.OfType<sunConstantSymbol>(); } }
|
||||||
public sunScopeType Type { get; private set; }
|
public sunScopeType Type { get; private set; }
|
||||||
|
|
||||||
public sunScope(sunScopeType type)
|
public sunScope(sunScopeType type)
|
||||||
{
|
{
|
||||||
|
Storables = new List<sunStorableSymbol>(10);
|
||||||
Type = type;
|
Type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int StorableCount { get { return storables.Count; } }
|
public int StorableCount { get { return Storables.Count; } }
|
||||||
public int VariableCount { get { return storables.OfType<sunVariableSymbol>().Count(); } }
|
public int VariableCount { get { return Variables.Count(); } }
|
||||||
public int ConstantCount { get { return storables.OfType<sunConstantSymbol>().Count(); } }
|
public int ConstantCount { get { return Constants.Count(); } }
|
||||||
|
|
||||||
public bool GetIsDeclared(string name) { return storables.Any(v => v.Name == name); }
|
public bool GetIsDeclared(string name) { return Storables.Any(v => v.Name == name); }
|
||||||
|
|
||||||
public sunVariableSymbol DeclareVariable(string name, int display, int index)
|
public sunVariableSymbol DeclareVariable(string name, int display, int index)
|
||||||
{
|
{
|
||||||
|
@ -93,9 +96,9 @@ namespace arookas
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var variableInfo = new sunVariableSymbol(name, display, index);
|
var symbol = new sunVariableSymbol(name, display, index);
|
||||||
storables.Add(variableInfo);
|
Storables.Add(symbol);
|
||||||
return variableInfo;
|
return symbol;
|
||||||
}
|
}
|
||||||
public sunConstantSymbol DeclareConstant(string name, sunExpression expression)
|
public sunConstantSymbol DeclareConstant(string name, sunExpression expression)
|
||||||
{
|
{
|
||||||
|
@ -103,14 +106,14 @@ namespace arookas
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
var constantSymbol = new sunConstantSymbol(name, expression);
|
var symbol = new sunConstantSymbol(name, expression);
|
||||||
storables.Add(constantSymbol);
|
Storables.Add(symbol);
|
||||||
return constantSymbol;
|
return symbol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public sunStorableSymbol ResolveStorable(string name) { return storables.FirstOrDefault(i => i.Name == name); }
|
public sunStorableSymbol ResolveStorable(string name) { return Storables.FirstOrDefault(i => i.Name == name); }
|
||||||
public sunVariableSymbol ResolveVariable(string name) { return storables.OfType<sunVariableSymbol>().FirstOrDefault(i => i.Name == name); }
|
public sunVariableSymbol ResolveVariable(string name) { return Variables.FirstOrDefault(i => i.Name == name); }
|
||||||
public sunConstantSymbol ResolveConstant(string name) { return storables.OfType<sunConstantSymbol>().FirstOrDefault(i => i.Name == name); }
|
public sunConstantSymbol ResolveConstant(string name) { return Constants.FirstOrDefault(i => i.Name == name); }
|
||||||
}
|
}
|
||||||
|
|
||||||
enum sunScopeType
|
enum sunScopeType
|
||||||
|
|
Loading…
Add table
Reference in a new issue