コード例 #1
0
 public MLambda(string pos, MPat arg_pat, MExpr body)
     : base(pos)
 {
     ArgPat  = arg_pat;
     ArgType = new TypeVar();
     Body    = body;
 }
コード例 #2
0
 public PVar(string pos, string name)
     : base(pos)
 {
     Name     = name;
     Type     = new TypeVar();
     IsTag    = false;
     TagIndex = 0;
 }
コード例 #3
0
 public MDo(string pos, MExpr e1, MExpr e2)
     : base(pos)
 {
     E1     = e1;
     E2     = e2;
     E1Type = new TypeVar();
     E2Type = new TypeVar();
 }
コード例 #4
0
 public MGet(string pos, MExpr expr, string field_name)
     : base(pos)
 {
     Expr      = expr;
     ExprType  = new TypeVar();
     FieldName = field_name;
     Info      = null;
 }
コード例 #5
0
 public MTopLet(string pos, MPat pat, MExpr expr, bool hide_type)
     : base(pos)
 {
     Pat      = pat;
     Expr     = expr;
     Type     = new TypeVar();
     HideType = hide_type;
 }
コード例 #6
0
 public MLet(string pos, MPat pat, MExpr e1, MExpr e2)
     : base(pos)
 {
     Pat    = pat;
     E1     = e1;
     E2     = e2;
     E1Type = new TypeVar();
     E2Type = new TypeVar();
 }
コード例 #7
0
 public MVar(string name)
     : base("")
 {
     Name     = name;
     Type     = new TypeVar();
     IsTag    = false;
     TagIndex = 0;
     TagSize  = 0;
 }
コード例 #8
0
 public MSSet(string pos, string class_name, string field_name, MExpr arg)
     : base(pos)
 {
     ClassName = class_name;
     FieldName = field_name;
     Arg       = arg;
     ArgType   = new TypeVar();
     Info      = null;
 }
コード例 #9
0
 public MSet(string pos, MExpr expr, string field_name, MExpr arg)
     : base(pos)
 {
     Expr      = expr;
     ExprType  = new TypeVar();
     FieldName = field_name;
     Arg       = arg;
     ArgType   = new TypeVar();
     Info      = null;
 }
コード例 #10
0
 public MDelegate(string pos, string class_name, MExpr expr)
     : base(pos)
 {
     ClassName = class_name;
     Expr      = expr;
     ExprType  = new TypeVar();
     ParamType = null;
     ClassType = null;
     CstrInfo  = null;
 }
コード例 #11
0
 public MInvoke(string pos, MExpr expr, string method_name, List <MExpr> args)
     : base(pos)
 {
     Expr       = expr;
     ExprType   = new TypeVar();
     MethodName = method_name;
     Args       = args;
     Types      = args.Select(item => (MType)(new TypeVar())).ToList();
     Info       = null;
 }