public override IAssignableExpression VisitThisExpression(IThisExpression expr, IList <IStatement> body) { return(new ReferenceExpression { Reference = new VariableReference { Identifier = "this" } }); }
/// <summary>Handles the specified expression.</summary> /// <param name="thisExpression">The invoked expression.</param> /// <param name="statementParameters">The parameters.</param> /// <returns>Returns the string.</returns> public ExpressionDescriptor Handle(IThisExpression thisExpression, Dictionary<string, string> statementParameters) { var name = thisExpression.Type().GetPresentableName(thisExpression.Language).Replace("<", string.Empty).Replace(">", string.Empty).Replace(".", string.Empty); var result = new ExpressionDescriptor { Template = "$" + name + "$" }; result.TemplateVariables[name] = string.Format("variableOfType(\"{0}\")", thisExpression.Type().GetLongPresentableName(thisExpression.Language)); return result; }
public override void VisitThisExpression(IThisExpression thisExpression) { Steps.Add(new WriteThisKeyword()); }
public virtual void VisitThisExpression(IThisExpression thisExpression) { Visit(thisExpression); }
public ThisExpressionCompiler(IThisExpression thisExpression, AbstractILCompilerParams @params) : base(@params) { myThisExpression = thisExpression; }