protected void consumeClassBodyopt() { // ClassBodyopt ::= $empty pushOnAstStack(null); this.endPosition = this.rParenPos; } protected void consumeClassDeclaration() {
protected void consumeClassBodyopt() { // ClassBodyopt ::= $empty pushOnAstStack(null); this.endPosition = this.rParenPos; } protected void consumeClassDeclaration() {
protected void consumeExpressionStatement() { // ExpressionStatement ::= StatementExpression ';' this.expressionLengthPtr--; Expression expression = this.expressionStack[this.expressionPtr--]; expression.statementEnd = this.endStatementPosition; expression.bits |= ASTNode.InsideExpressionStatement; pushOnAstStack(expression); } protected void consumeFieldAccess(boolean isSuperAccess) {
protected void consumeUnionTypeAsClassType() { // UnionType ::= Type pushOnAstStack(getTypeReference(this.intStack[this.intPtr--])); } protected void consumeEmptyAnnotationTypeMemberDeclarationsopt() {
protected void consumeSimpleAssertStatement() { // AssertStatement ::= 'assert' Expression ';' this.expressionLengthPtr--; pushOnAstStack(new AssertStatement(this.expressionStack[this.expressionPtr--], this.intStack[this.intPtr--])); } protected void consumeSingleMemberAnnotation(boolean isTypeAnnotation) {
protected void consumeUnionTypeAsClassType() { // UnionType ::= Type pushOnAstStack(getTypeReference(this.intStack[this.intPtr--])); } protected void consumeEmptyAnnotationTypeMemberDeclarationsopt() {
protected void consumeAssertStatement() { // AssertStatement ::= 'assert' Expression ':' Expression ';' this.expressionLengthPtr-=2; pushOnAstStack(new AssertStatement(this.expressionStack[this.expressionPtr--], this.expressionStack[this.expressionPtr--], this.intStack[this.intPtr--])); } protected void consumeAssignment() {
protected void consumeStatementContinueWithLabel() { // ContinueStatement ::= 'continue' Identifier ';' // continue pushs a position on this.intStack in case there is no label pushOnAstStack( new ContinueStatement( this.identifierStack[this.identifierPtr--], this.intStack[this.intPtr--], this.endStatementPosition)); this.identifierLengthPtr--; } protected void consumeStatementDo() {
protected void consumeStatementThrow() { // ThrowStatement ::= 'throw' Expression ';' this.expressionLengthPtr--; pushOnAstStack(new ThrowStatement(this.expressionStack[this.expressionPtr--], this.intStack[this.intPtr--], this.endStatementPosition)); } protected void consumeStatementTry(boolean withFinally, boolean hasResources) {
protected void consumeUnionTypeAsClassType() { // UnionType ::= Type pushOnAstStack(getTypeReference(this.intStack[this.intPtr--])); } protected void consumeEmptyAnnotationTypeMemberDeclarationsopt() {
protected void consumeStatementContinueWithLabel() { // ContinueStatement ::= 'continue' Identifier ';' // continue pushs a position on this.intStack in case there is no label pushOnAstStack( new ContinueStatement( this.identifierStack[this.identifierPtr--], this.intStack[this.intPtr--], this.endStatementPosition)); this.identifierLengthPtr--; } protected void consumeStatementDo() {
protected void consumeAssertStatement() { // AssertStatement ::= 'assert' Expression ':' Expression ';' this.expressionLengthPtr-=2; pushOnAstStack(new AssertStatement(this.expressionStack[this.expressionPtr--], this.expressionStack[this.expressionPtr--], this.intStack[this.intPtr--])); } protected void consumeAssignment() {
protected void consumeClassTypeElt() { // ClassTypeElt ::= ClassType pushOnAstStack(getTypeReference(0)); /* if incomplete thrown exception list, this.listLength counter will not have been reset, indicating that some items are available on the stack */ this.listLength++; } protected void consumeClassTypeList() {
protected void consumeInterfaceType() { // InterfaceType ::= ClassOrInterfaceType pushOnAstStack(getTypeReference(0)); /* if incomplete type header, this.listLength counter will not have been reset, indicating that some interfaces are available on the stack */ this.listLength++; } protected void consumeInterfaceTypeList() {
protected void consumeStatementBreakWithLabel() { // BreakStatement ::= 'break' Identifier ';' // break pushs a position on this.intStack in case there is no label pushOnAstStack( new BreakStatement( this.identifierStack[this.identifierPtr--], this.intStack[this.intPtr--], this.endStatementPosition)); this.identifierLengthPtr--; } protected void consumeStatementCatch() {
protected void consumeStatementContinue() { // ContinueStatement ::= 'continue' ';' // continue pushs a position on this.intStack in case there is no label pushOnAstStack( new ContinueStatement( null, this.intStack[this.intPtr--], this.endStatementPosition)); } protected void consumeStatementContinueWithLabel() {
protected void consumeCaseLabel() { // SwitchLabel ::= 'case' ConstantExpression ':' this.expressionLengthPtr--; Expression expression = this.expressionStack[this.expressionPtr--]; CaseStatement caseStatement = new CaseStatement(expression, expression.sourceEnd, this.intStack[this.intPtr--]); // Look for $fall-through$ tag in leading comment for case statement if (hasLeadingTagComment(FALL_THROUGH_TAG, caseStatement.sourceStart)) { caseStatement.bits |= ASTNode.DocumentedFallthrough; } pushOnAstStack(caseStatement); } protected void consumeCastExpressionLL1() {
protected void consumeCaseLabel() { // SwitchLabel ::= 'case' ConstantExpression ':' this.expressionLengthPtr--; Expression expression = this.expressionStack[this.expressionPtr--]; CaseStatement caseStatement = new CaseStatement(expression, expression.sourceEnd, this.intStack[this.intPtr--]); // Look for $fall-through$ tag in leading comment for case statement if (hasLeadingTagComment(FALL_THROUGH_TAG, caseStatement.sourceStart)) { caseStatement.bits |= ASTNode.DocumentedFallthrough; } pushOnAstStack(caseStatement); } protected void consumeCastExpressionLL1() {
protected void consumeNestedLambda() { // NestedLambda ::= $empty - we get here just after the type+parenthesis elided singleton parameter or just before the '(' of the parameter list. consumeNestedType(); this.nestedMethod[this.nestedType] ++; LambdaExpression lambda = new LambdaExpression(this.compilationUnit.compilationResult, isAssistParser()); pushOnAstStack(lambda); this.processingLambdaParameterList = true; }
protected void consumeNestedLambda() { // NestedLambda ::= $empty - we get here just after the type+parenthesis elided singleton parameter or just before the '(' of the parameter list. consumeNestedType(); this.nestedMethod[this.nestedType] ++; LambdaExpression lambda = new LambdaExpression(this.compilationUnit.compilationResult, isAssistParser()); pushOnAstStack(lambda); this.processingLambdaParameterList = true; }