public TypeDeclarationStatementSyntax(List <SyntaxToken> modifiers, TypeDefinitionSyntax type, SyntaxToken semicolonToken) : base(SyntaxKind.TypeDeclarationStatement, new List <AttributeSyntax>()) { RegisterChildNodes(out Modifiers, modifiers); RegisterChildNode(out Type, type); RegisterChildNode(out SemicolonToken, semicolonToken); }
private BoundType BindTypeDefinition(TypeDefinitionSyntax syntax, Symbol parent) { switch (syntax.Kind) { case SyntaxKind.ClassType: return BindClassDeclaration((ClassTypeSyntax) syntax, parent); case SyntaxKind.StructType: return BindStructDeclaration((StructTypeSyntax) syntax, parent); case SyntaxKind.InterfaceType: return BindInterfaceDeclaration((InterfaceTypeSyntax) syntax, parent); default: throw new ArgumentOutOfRangeException(); } }