private CodeExpression Visit(Ast.VariableRef varRef) { if (varRef.VariableInfo is Parameter) { return(new CodeArgumentReferenceExpression(varRef.VariableInfo.Name)); } else if (varRef.VariableInfo is Field) { return(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), varRef.VariableInfo.Name)); } else { return(new CodeVariableReferenceExpression(varRef.VariableInfo.Name)); } }
public Assign(LexemeValue varName, Expression value) { Variable = new VariableRef(varName); Value = value; }
public ArrayAssign(LexemeValue arrayName, Expression index, Expression value) { Array = new VariableRef(arrayName); Index = index; Value = value; }
public Variable(LexemeValue name) { VariableRef = new VariableRef(name); }