/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.7">JLS section 3.10.7</a> */ public Rule nullLiteral() { return Sequence( Sequence( String("null"), group.basics.testLexBreak()), set(actions.createNullLiteral(lastText())), group.basics.optWS()); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.7">JLS section 3.10.7</a> */ public Rule nullLiteral() { return Sequence( Sequence( String("null"), group.basics.testLexBreak()), set(actions.createNullLiteral(lastText())), group.basics.optWS()); }
public Rule staticInitializer() { return Sequence( String("static"), group.basics.testLexBreak(), group.basics.optWS(), group.statements.blockStatement().label("initializer"), set(actions.createStaticInitializer(value("initializer")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.3">JLS section 3.10.3</a> */ public Rule booleanLiteral() { return Sequence( Sequence( FirstOf(String("true"), String("false")), group.basics.testLexBreak()), set(actions.createBooleanLiteral(lastText())), group.basics.optWS()); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11">JLS section 14.11</a> */ public Rule caseStatement() { return Sequence( String("case"), group.basics.testLexBreak(), group.basics.optWS(), group.expressions.anyExpression(), set(), Ch(':'), group.basics.optWS(), set(actions.createCaseStatement(value()))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.15">JLS section 14.15</a> */ public Rule breakStatement() { return Sequence( String("break"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createBreak(value("identifier")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.17">JLS section 14.17</a> */ public Rule returnStatement() { return Sequence( String("return"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.expressions.anyExpression()).label("value"), Ch(';'), group.basics.optWS(), set(actions.createReturn(value("value")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.16">JLS section 14.16</a> */ public Rule continueStatement() { return Sequence( String("continue"), group.basics.testLexBreak(), group.basics.optWS(), Optional(group.basics.identifier()).label("identifier"), Ch(';'), group.basics.optWS(), set(actions.createContinue(value("identifier")))); }
public Rule importDeclaration() { return Sequence( Sequence(String("import"), group.basics.testLexBreak(), group.basics.optWS()), Optional(Sequence(String("static"), group.basics.testLexBreak(), group.basics.optWS())).label("static"), group.basics.identifier().label("head"), ZeroOrMore(group.basics.dotIdentifier().label("tail")), Optional(Sequence( Ch('.'), group.basics.optWS(), Ch('*'), group.basics.optWS())).label("dotStar"), Ch(';'), group.basics.optWS(), set(actions.createImportDeclaration(text("static"), value("head"), values("ZeroOrMore/tail"), text("dotStar")))); }
public Rule importDeclaration() { return Sequence( Sequence(String("import"), group.basics.testLexBreak(), group.basics.optWS()), Optional(Sequence(String("static"), group.basics.testLexBreak(), group.basics.optWS())).label("static"), group.basics.identifier().label("head"), ZeroOrMore(group.basics.dotIdentifier().label("tail")), Optional(Sequence( Ch('.'), group.basics.optWS(), Ch('*'), group.basics.optWS())).label("dotStar"), Ch(';'), group.basics.optWS(), set(actions.createImportDeclaration(text("static"), value("head"), values("ZeroOrMore/tail"), text("dotStar")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11">JLS section 14.11</a> */ public Rule switchStatement() { return Sequence( String("switch"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), group.expressions.anyExpression(), set(), Ch(')'), group.basics.optWS(), blockStatement(), set(actions.createSwitchStatement(value(), lastValue()))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/statements.html#14.12">JLS section 14.12</a> */ public Rule whileStatement() { return Sequence( String("while"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), group.expressions.anyExpression().label("condition"), Ch(')'), group.basics.optWS(), anyStatement(), set(), set(actions.createWhileStatement(value("condition"), value()))); }
Rule extendsClause() { return Sequence( Sequence(String("extends"), group.basics.testLexBreak(), group.basics.optWS()), group.types.type().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), group.types.type()).label("tail")), set(actions.createExtendsClause(value("head"), values("ZeroOrMore/tail")))); }
Rule implementsClause() { return Sequence( Sequence(String("implements"), group.basics.testLexBreak(), group.basics.optWS()), group.types.type().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), group.types.type()).label("tail")), set(actions.createImplementsClause(value("head"), values("ZeroOrMore/tail")))); }
public Rule packageDeclaration() { return Sequence( Sequence( ZeroOrMore(annotation().label("annotation")).label("annotations"), String("package"), group.basics.testLexBreak(), group.basics.optWS()), group.basics.identifier().label("head"), ZeroOrMore(group.basics.dotIdentifier().label("tail")), Ch(';'), group.basics.optWS(), set(actions.createPackageDeclaration(values("Sequence/annotations/annotation"), value("head"), values("ZeroOrMore/tail")))); }
public Rule packageDeclaration() { return Sequence( Sequence( ZeroOrMore(annotation().label("annotation")).label("annotations"), String("package"), group.basics.testLexBreak(), group.basics.optWS()), group.basics.identifier().label("head"), ZeroOrMore(group.basics.dotIdentifier().label("tail")), Ch(';'), group.basics.optWS(), set(actions.createPackageDeclaration(values("Sequence/annotations/annotation"), value("head"), values("ZeroOrMore/tail")))); }
Rule catchBlock() { return Sequence( String("catch"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), group.structures.variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), group.basics.identifier().label("varName"), Ch(')'), group.basics.optWS(), blockStatement().label("body"), set(actions.createCatch(value("modifiers"), value("type"), value("varName"), value("body")))); } }
Rule catchBlock() { return Sequence( String("catch"), group.basics.testLexBreak(), group.basics.optWS(), Ch('('), group.basics.optWS(), group.structures.variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), group.basics.identifier().label("varName"), Ch(')'), group.basics.optWS(), blockStatement().label("body"), set(actions.createCatch(value("modifiers"), value("type"), value("varName"), value("body")))); } }
public Rule explicitSuperConstructorInvocation() { return Sequence( Optional(Sequence(group.expressions.allPrimaryExpressions(), Ch('.').label("dot"), group.basics.optWS())).label("qualifier"), group.types.typeArguments().label("typeArgs"), String("super"), group.basics.testLexBreak(), group.basics.optWS(), group.structures.methodArguments().label("arguments"), Ch(';'), group.basics.optWS(), set(actions.createSuperConstructorInvocation(node("qualifier/Sequence/dot"), value("qualifier"), value("typeArgs"), value("arguments")))); }
public Rule annotationDeclaration() { return Sequence( typeDeclarationModifiers().label("modifiers"), Ch('@'), group.basics.optWS(), String("interface"), group.basics.testLexBreak(), group.basics.optWS(), group.basics.identifier().label("name"), Ch('{').label("typeOpen"), group.basics.optWS(), ZeroOrMore(annotationElementDeclaration().label("member")).label("members"), Ch('}').label("typeClose"), group.basics.optWS(), set(actions.createAnnotationDeclaration(value("modifiers"), value("name"), values("members/member"), node("typeOpen"), node("typeClose")))); }