Differences From Artifact [e79569cb2ae94b8c]:
- File        
polemy/ast.d
- 2010-11-07 12:20:47 - part of checkin [5d4cb856d8] on branch trunk - Added FuncallExpression (user: kinaba) [annotate]
 
To Artifact [a264a204623245e6]:
- File        
polemy/ast.d
- 2010-11-07 12:46:23 - part of checkin [3f5dc76a75] on branch trunk - Added funcall expression parser and function literal parser. (user: kinaba) [annotate]
 
   62  class AssignExpression : Expression                                                   62  class AssignExpression : Expression
   63  {                                                                                     63  {
   64          Expression lhs;                                                               64          Expression lhs;
   65          Expression rhs;                                                               65          Expression rhs;
   66          mixin SimpleConstructor;                                                      66          mixin SimpleConstructor;
   67          mixin SimpleCompare; // do not take "pos" into account                        67          mixin SimpleCompare; // do not take "pos" into account
   68  }                                                                                     68  }
                                                                                        >    69  
   69  class FuncallExpression : Expression                                                  70  class FuncallExpression : Expression
   70  {                                                                                     71  {
   71          Expression   fun;                                                             72          Expression   fun;
   72          Expression[] args;                                                            73          Expression[] args;
   73          this(immutable LexPosition pos, Expression fun, Expression[] args...)         74          this(immutable LexPosition pos, Expression fun, Expression[] args...)
   74                  { super(pos); this.fun=fun; this.args=args.dup; }                     75                  { super(pos); this.fun=fun; this.args=args.dup; }
   75          mixin SimpleCompare; // do not take "pos" into account                        76          mixin SimpleCompare; // do not take "pos" into account
   76  }                                                                                     77  }
                                                                                        >    78  
                                                                                        >    79  class FunLiteralExpression : Expression
                                                                                        >    80  {
                                                                                        >    81          string[] params;
                                                                                        >    82          Program  funbody;
                                                                                        >    83          mixin SimpleConstructor;
                                                                                        >    84          mixin SimpleCompare; // do not take "pos" into account
                                                                                        >    85  }