예제 #1
0
 public TypeAndValue(operandMode mode = default, Type Type = default, constant.Value Value = default)
 {
     this.mode  = mode;
     this.Type  = Type;
     this.Value = Value;
 }
예제 #2
0
 public context(ref ptr <declInfo> decl = default, ref ptr <Scope> scope = default, token.Pos pos = default, constant.Value iota = default, ref ptr <Signature> sig = default, map <ptr <ast.CallExpr>, bool> isPanic = default, bool hasLabel = default, bool hasCallOrRecv = default)
 {
     this.decl          = decl;
     this.scope         = scope;
     this.pos           = pos;
     this.iota          = iota;
     this.sig           = sig;
     this.isPanic       = isPanic;
     this.hasLabel      = hasLabel;
     this.hasCallOrRecv = hasCallOrRecv;
 }
예제 #3
0
 public exprInfo(bool isLhs = default, operandMode mode = default, ref ptr <Basic> typ = default, constant.Value val = default)
 {
     this.isLhs = isLhs;
     this.mode  = mode;
     this.typ   = typ;
     this.val   = val;
 }
예제 #4
0
 public operand(operandMode mode = default, ast.Expr expr = default, Type typ = default, constant.Value val = default, builtinId id = default)
 {
     this.mode = mode;
     this.expr = expr;
     this.typ  = typ;
     this.val  = val;
     this.id   = id;
 }
예제 #5
0
 // NewConst returns a new constant of the specified value and type.
 // val must be valid according to the specification of Const.Value.
 //
 public static ptr <Const> NewConst(constant.Value val, types.Type typ)
 {
     return(addr(new Const(typ, val)));
 }
예제 #6
0
 public Const(types.Type typ = default, constant.Value Value = default)
 {
     this.typ   = typ;
     this.Value = Value;
 }