Diff
Not logged in

Differences From Artifact [79741a3186611288]:

To Artifact [9b22488b3393157f]:


17 } 17 } 18 18 19 class DeclStatement : Statement 19 class DeclStatement : Statement 20 { 20 { 21 string var; 21 string var; 22 Expression expr; 22 Expression expr; 23 mixin SimpleConstructor; 23 mixin SimpleConstructor; 24 mixin SimpleCompare; // do not take "pos" into account | 24 mixin SimpleCompare; 25 } 25 } 26 26 27 class ExprStatement : Statement 27 class ExprStatement : Statement 28 { 28 { 29 Expression expr; 29 Expression expr; 30 mixin SimpleConstructor; 30 mixin SimpleConstructor; 31 mixin SimpleCompare; // do not take "pos" into account | 31 mixin SimpleCompare; 32 } 32 } 33 33 34 abstract class Expression 34 abstract class Expression 35 { 35 { 36 immutable LexPosition pos; 36 immutable LexPosition pos; 37 mixin SimpleConstructor; 37 mixin SimpleConstructor; 38 mixin SimpleCompare; // do not take "pos" into account | 38 mixin SimpleCompare; 39 } 39 } 40 40 41 class StrLiteralExpression : Expression 41 class StrLiteralExpression : Expression 42 { 42 { 43 string data; 43 string data; 44 mixin SimpleConstructor; 44 mixin SimpleConstructor; 45 mixin SimpleCompare; // do not take "pos" into account | 45 mixin SimpleCompare; 46 } 46 } 47 47 48 class IntLiteralExpression : Expression 48 class IntLiteralExpression : Expression 49 { 49 { 50 BigInt data; 50 BigInt data; 51 mixin SimpleConstructor; 51 mixin SimpleConstructor; 52 mixin SimpleCompare; // do not take "pos" into account | 52 mixin SimpleCompare; 53 } 53 } 54 54 55 class VarExpression : Expression 55 class VarExpression : Expression 56 { 56 { 57 string var; 57 string var; 58 mixin SimpleConstructor; 58 mixin SimpleConstructor; 59 mixin SimpleCompare; // do not take "pos" into account | 59 mixin SimpleCompare; 60 } 60 } 61 61 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; 68 } 68 } 69 69 70 class FuncallExpression : Expression 70 class FuncallExpression : Expression 71 { 71 { 72 Expression fun; 72 Expression fun; 73 Expression[] args; 73 Expression[] args; 74 this(immutable LexPosition pos, Expression fun, Expression[] args...) 74 this(immutable LexPosition pos, Expression fun, Expression[] args...) 75 { super(pos); this.fun=fun; this.args=args.dup; } 75 { super(pos); this.fun=fun; this.args=args.dup; } 76 mixin SimpleCompare; // do not take "pos" into account | 76 mixin SimpleCompare; 77 } 77 } 78 78 79 class FunLiteralExpression : Expression 79 class FunLiteralExpression : Expression 80 { 80 { 81 string[] params; 81 string[] params; 82 Program funbody; 82 Program funbody; 83 mixin SimpleConstructor; 83 mixin SimpleConstructor; 84 mixin SimpleCompare; // do not take "pos" into account | 84 mixin SimpleCompare; 85 } 85 }