internal PointerDeclarator(List<Pointer> pointers, Declarator declarator, List<TypeQualifier> qualifiers, ISourceLocation sourceLocation) : base(sourceLocation) { this.Pointers = pointers; this.Declarator = declarator; this.Qualifiers = qualifiers; }
internal Parameter(IEnumerable<Specifier> typeSpecifiers, Declarator name, bool isSpec, bool isOut, ISourceLocation sourceLocation) : this(typeSpecifiers, name, isSpec, isOut, sourceLocation, false) { }
internal Parameter(IEnumerable<Specifier> typeSpecifiers, Declarator name, bool isSpec, bool isOut, ISourceLocation sourceLocation, bool isVarArgs) : base(sourceLocation) { this.typeSpecifiers = typeSpecifiers; this.Name = name; this.isSpec = isSpec; this.isOut = isOut; IsVarArgs = isVarArgs; }
internal InitializedDeclarator(Declarator declarator, Expression initialValue, ISourceLocation sourceLocation) : base(sourceLocation) { this.Declarator = declarator; this.InitialValue = initialValue; }
internal FunctionDeclarator(Declarator functionName, FunctionDeclarator template) : base(functionName.SourceLocation) { this.FunctionName = functionName; this.parameters = template.Parameters; this.templateParameters = template.TemplateParameters; this.Specifiers = template.Specifiers; this.Contract = new FunctionOrBlockContract(template.Contract); }
internal FunctionDeclarator(Declarator functionName, List<Parameter> parameters, List<TemplateParameterDeclarator> templateParameters, ISourceLocation sourceLocation) : base(sourceLocation) { this.Contract = new FunctionOrBlockContract(); this.FunctionName = functionName; this.parameters = parameters; this.templateParameters = templateParameters; }
internal BitfieldDeclarator(Declarator fieldDeclarator, Expression fieldSize, ISourceLocation sourceLocation) : base(sourceLocation) { this.FieldDeclarator = fieldDeclarator; this.FieldSize = fieldSize; }
internal ArrayDeclarator(Declarator elementType, Expression/*?*/ arraySize, ISourceLocation sourceLocation) : base(sourceLocation) { this.ElementType = elementType; this.ArraySize = arraySize; }