/// <summary> /// Constructs a parse tree for a namespace VBConverter.CodeParser.declaration. /// </summary> /// <param name="attributes">The attributes on the declaration.</param> /// <param name="modifiers">The modifiers on the declaration.</param> /// <param name="namespaceLocation">The location of 'Namespace'.</param> /// <param name="name">The name of the namespace.</param> /// <param name="declarations">The declarations in the namespace.</param> /// <param name="endDeclaration">The End Namespace statement, if any.</param> /// <param name="span">The location of the parse tree.</param> /// <param name="comments">The comments for the parse tree.</param> public NamespaceDeclaration(AttributeBlockCollection attributes, ModifierCollection modifiers, Location namespaceLocation, Name name, DeclarationCollection declarations, EndBlockDeclaration endDeclaration, Span span, IList <Comment> comments) : base(TreeType.NamespaceDeclaration, attributes, modifiers, span, comments) { if (name == null) { throw new ArgumentNullException("name"); } SetParent(name); SetParent(declarations); SetParent(endDeclaration); _NamespaceLocation = namespaceLocation; _Name = name; _Declarations = declarations; _EndDeclaration = endDeclaration; }
protected BlockDeclaration(TreeType type, AttributeBlockCollection attributes, ModifierCollection modifiers, Location keywordLocation, SimpleName name, DeclarationCollection declarations, EndBlockDeclaration endDeclaration, Span span, IList <Comment> comments) : base(type, attributes, modifiers, span, comments) { Debug.Assert(type == TreeType.ClassDeclaration || type == TreeType.ModuleDeclaration || type == TreeType.InterfaceDeclaration || type == TreeType.StructureDeclaration || type == TreeType.EnumDeclaration); if (name == null) { throw new ArgumentNullException("name"); } SetParent(name); SetParent(declarations); SetParent(endDeclaration); _KeywordLocation = keywordLocation; _Name = name; _Declarations = declarations; _EndDeclaration = endDeclaration; }
/// <summary> /// Constructs a new parse tree for a Class declaration. /// </summary> /// <param name="attributes">The attributes for the parse tree.</param> /// <param name="modifiers">The modifiers for the parse tree.</param> /// <param name="keywordLocation">The location of the keyword.</param> /// <param name="name">The name of the declaration.</param> /// <param name="typeParameters">The type parameters of the type, if any.</param> /// <param name="declarations">The declarations in the block.</param> /// <param name="endStatement">The end block declaration, if any.</param> /// <param name="span">The location of the parse tree.</param> /// <param name="comments">The comments for the parse tree.</param> public ClassDeclaration(AttributeBlockCollection attributes, ModifierCollection modifiers, Location keywordLocation, SimpleName name, TypeParameterCollection typeParameters, DeclarationCollection declarations, EndBlockDeclaration endStatement, Span span, IList <Comment> comments) : base(TreeType.ClassDeclaration, attributes, modifiers, keywordLocation, name, typeParameters, declarations, endStatement, span, comments ) { }
/// <summary> /// Constructs a parse tree for an Enum declaration. /// </summary> /// <param name="attributes">The attributes for the parse tree.</param> /// <param name="modifiers">The modifiers for the parse tree.</param> /// <param name="keywordLocation">The location of the keyword.</param> /// <param name="name">The name of the declaration.</param> /// <param name="asLocation">The location of the 'As', if any.</param> /// <param name="elementType">The element type of the enumerated type, if any.</param> /// <param name="declarations">The enumerated values.</param> /// <param name="endStatement">The end block declaration, if any.</param> /// <param name="span">The location of the parse tree.</param> /// <param name="comments">The comments for the parse tree.</param> public EnumDeclaration(AttributeBlockCollection attributes, ModifierCollection modifiers, Location keywordLocation, SimpleName name, Location asLocation, TypeName elementType, DeclarationCollection declarations, EndBlockDeclaration endStatement, Span span, IList <Comment> comments ) : base(TreeType.EnumDeclaration, attributes, modifiers, keywordLocation, name, declarations, endStatement, span, comments) { SetParent(elementType); _AsLocation = asLocation; _ElementType = elementType; }
protected GenericBlockDeclaration(TreeType type, AttributeBlockCollection attributes, ModifierCollection modifiers, Location keywordLocation, SimpleName name, TypeParameterCollection typeParameters, DeclarationCollection declarations, EndBlockDeclaration endStatement, Span span, IList <Comment> comments ) : base(type, attributes, modifiers, keywordLocation, name, declarations, endStatement, span, comments) { Debug.Assert(type == TreeType.ClassDeclaration || type == TreeType.InterfaceDeclaration || type == TreeType.StructureDeclaration); SetParent(typeParameters); _TypeParameters = typeParameters; }