예제 #1
0
 public IsExpression(Expression value, Expression compare, TokenPosition position)
     : base(position)
 {
     this.value = value;
     this.compare = compare;
     this.targetType = null;
 }
예제 #2
0
 public FieldDeclaration(string name, Expression defaultValue, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.defaultValue = defaultValue;
     this.variable = null;
 }
예제 #3
0
 public FixedVariableDecl(string name, Expression value, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.value = value;
     this.variable = null;
 }
예제 #4
0
 public MakeFunctionPointer(Expression returnType, AstNode arguments, MemberFlags flags, TokenPosition position)
     : base(position)
 {
     this.returnType = returnType;
     this.arguments = arguments;
     this.flags = flags;
 }
예제 #5
0
 public AssignmentExpression(Expression variable, Expression value, TokenPosition position)
     : base(position)
 {
     this.variable = variable;
     this.value = value;
     this.delayedCoercion = false;
 }
예제 #6
0
 public SubscriptAccess(Expression array, Expression index, TokenPosition position)
     : base(position)
 {
     this.array = array;
     this.index = index;
     this.indexCoercions = null;
 }
예제 #7
0
        public VariableDeclaration(string name, Expression initialValue,
		                            TokenPosition position)
            : base(position)
        {
            SetName(name);
            this.initialValue = initialValue;
        }
예제 #8
0
 public MakeReference(Expression referencedType, ReferenceFlow flow, bool streamRef, TokenPosition position)
     : base(position)
 {
     this.referencedType = referencedType;
     this.flow = flow;
     this.streamReference = streamRef;
 }
예제 #9
0
파일: Parser.cs 프로젝트: ronsaldo/chela
 public ConstraintChain(bool valueType, bool defCtor, Expression baseExpr)
 {
     this.valueType = valueType;
     this.defCtor = defCtor;
     this.baseExpr = baseExpr;
     this.next = null;
 }
예제 #10
0
파일: CaseLabel.cs 프로젝트: ronsaldo/chela
 public CaseLabel(Expression constant, AstNode children, TokenPosition position)
     : base(position)
 {
     this.constant = constant;
     this.children = children;
     this.block = null;
 }
예제 #11
0
 public ConstantData(FieldVariable variable, Expression initializer)
 {
     this.variable = variable;
     this.initializer = initializer;
     this.dependencies = new List<ConstantData> ();
     this.visited = false;
     this.visiting = false;
 }
예제 #12
0
 public SwitchStatement(Expression constant, AstNode cases, TokenPosition position)
     : base(position)
 {
     this.constant = constant;
     this.cases = cases;
     this.defaultCase = null;
     this.caseDictionary = new Dictionary<ConstantValue, CaseLabel> ();
 }
예제 #13
0
        public FieldDefinition(MemberFlags flags, Expression typeNode,
		                        FieldDeclaration declarations, TokenPosition position)
            : base(position)
        {
            this.flags = flags;
            this.typeNode = typeNode;
            this.declarations = declarations;
        }
예제 #14
0
 public EnumDefinition(MemberFlags flags, string name, AstNode children,
     Expression typeExpr, TokenPosition position)
     : base(children, position)
 {
     SetName(name);
     this.flags = flags;
     this.typeExpr = typeExpr;
 }
예제 #15
0
 public AttributeArgument(Expression value, string name, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.value = value;
     this.property = null;
     this.attributeClass = null;
 }
예제 #16
0
 public AttributeInstance(Expression attributeExpr, AttributeArgument arguments,
                           TokenPosition position)
     : base(position)
 {
     this.attributeExpr = attributeExpr;
     this.arguments = arguments;
     this.attributeClass = null;
 }
예제 #17
0
 public FunctionPrototype(MemberFlags flags, Expression returnType,
                        FunctionArgument arguments, Expression nameExpression,
                           GenericSignature genericSignature,
                           TokenPosition position)
     : this(flags, returnType, arguments, "", genericSignature, position)
 {
     this.nameExpression = nameExpression;
 }
예제 #18
0
 public NewExpression(Expression typeExpression, Expression arguments, TokenPosition position)
     : base(position)
 {
     this.typeExpression = typeExpression;
     this.arguments = arguments;
     this.constructor = null;
     this.objectType = null;
 }
예제 #19
0
 public FunctionArgument(Expression typeExpression, bool @params, string name, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.typeExpression = typeExpression;
     this.@params = @params;
     this.variable = null;
 }
예제 #20
0
 public NewRawArrayExpression(Expression typeExpression, Expression size,
                               bool heap, TokenPosition position)
     : base(position)
 {
     this.typeExpression = typeExpression;
     this.size = size;
     this.heap = heap;
     this.objectType = null;
 }
예제 #21
0
 public TypedefDefinition(MemberFlags flags, Expression typeExpression,
                           string name, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.flags = flags;
     this.typeExpression = typeExpression;
     this.expansionScope = null;
 }
예제 #22
0
 public CatchStatement(Expression exceptionType, string name,
                        AstNode children, TokenPosition position)
     : base(children, position)
 {
     SetName(name);
     this.exceptionType = exceptionType;
     this.context = null;
     this.variable = null;
 }
예제 #23
0
 public CallExpression(Expression function, Expression arguments, TokenPosition position)
     : base(position)
 {
     this.function = function;
     this.arguments = arguments;
     this.hasImplicitArgument = false;
     this.vectorConstruction = false;
     this.vslot = -1;
     this.selectedFunction = null;
 }
예제 #24
0
 public BinaryAssignOperation(int operation, Expression variable, Expression value, TokenPosition position)
     : base(position)
 {
     this.operation = operation;
     this.variable = variable;
     this.value = value;
     this.pointerArithmetic = false;
     this.secondCoercion = null;
     this.overload = null;
 }
예제 #25
0
 public NewArrayExpression(Expression typeExpression, Expression size,
                            AstNode initializers, int dimensions, TokenPosition position)
     : base(position)
 {
     this.typeExpression = typeExpression;
     this.size = size;
     this.initializers = initializers;
     this.dimensions = dimensions;
     this.objectType = null;
     this.initCoercionType = null;
 }
예제 #26
0
 public EventDefinition(MemberFlags flags, Expression eventType,
                         string name, AstNode accessors, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.flags = flags;
     this.eventType = eventType;
     this.eventVariable = null;
     this.accessors = accessors;
     this.delegateType = null;
 }
예제 #27
0
 public PropertyDefinition(MemberFlags flags, Expression propertyType,
                           string name, AstNode indices, AstNode accessors, TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.flags = flags;
     this.propertyType = propertyType;
     this.property = null;
     this.indices = indices;
     this.accessors = accessors;
 }
예제 #28
0
 public DelegateDefinition(MemberFlags flags, Expression returnType,
                            AstNode arguments, string name,
                            GenericSignature genericSignature,
                            TokenPosition position)
     : base(position)
 {
     SetName(name);
     this.genericSignature = genericSignature;
     this.flags = flags;
     this.returnType = returnType;
     this.arguments = arguments;
 }
예제 #29
0
        public BinaryOperation(int operation, Expression left, Expression right,
		                        TokenPosition position)
            : base(position)
        {
            this.operation = operation;
            this.left = left;
            this.right = right;
            this.pointerArithmetic = false;
            this.secondCoercion = null;
            this.operationType = null;
            this.overload = null;
            this.matrixMul = false;
        }
예제 #30
0
 public FunctionPrototype(MemberFlags flags, Expression returnType,
                           FunctionArgument arguments, string name,
                           GenericSignature genericSignature,
                           TokenPosition position)
     : base(null, position)
 {
     SetName (name);
     this.flags = flags;
     this.returnType = returnType;
     this.arguments = arguments;
     this.function = null;
     this.ctorInitializer = null;
     this.destructorName = null;
     this.genericSignature = genericSignature;
 }