private ConstructorDeclarationSyntax ParseConstructorDeclaration(string typeName, SyntaxListBuilder <AnnotationSyntax> attributes, SyntaxListBuilder modifiers, TypeParameterListSyntax typeParameterList) { var name = this.ParseIdentifierToken(); Debug.Assert(name.ValueText == typeName); var saveTerm = this._termState; this._termState |= TerminatorState.IsEndOfMethodSignature; try { var paramList = this.ParseParenthesizedParameterList(allowThisKeyword: false, allowDefaults: true, allowAttributes: true, allowFieldModifiers: false); JavaThrowsListClauseSyntax throws = this.ParseJavaThrowsListClause(true); ConstructorInitializerSyntax initializer = null; if (this.CurrentToken.Kind == SyntaxKind.ColonToken) { bool isStatic = modifiers != null && modifiers.Any(SyntaxKind.StaticKeyword); initializer = this.ParseConstructorInitializer(name.ValueText, isStatic); } BlockSyntax body; SyntaxToken semicolon; this.ParseBodyOrSemicolon(out body, out semicolon); return(_syntaxFactory.ConstructorDeclaration(attributes, modifiers.ToTokenList(), typeParameterList, name, paramList, throws, initializer, body, semicolon)); } finally { this._termState = saveTerm; } }
public bool Any(SyntaxKind kind) { return(_builder.Any(kind)); }