Esempio n. 1
0
 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);
 }
Esempio n. 5
0
 public ThisExpressionCompiler(IThisExpression thisExpression, AbstractILCompilerParams @params) : base(@params)
 {
     myThisExpression = thisExpression;
 }