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")))); }
Rule unqualifiedConstructorInvocation() { return Sequence( String("new"), group.basics.testLexBreak(), group.basics.optWS(), group.types.typeArguments().label("constructorTypeArgs"), group.types.type().label("type"), group.structures.methodArguments().label("args"), Optional(group.structures.typeBody()).label("classBody"), set(actions.createUnqualifiedConstructorInvocation(value("constructorTypeArgs"), value("type"), value("args"), value("classBody")))); }
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 unqualifiedConstructorInvocation() { return Sequence( String("new"), group.basics.testLexBreak(), group.basics.optWS(), group.types.typeArguments().label("constructorTypeArgs"), group.types.type().label("type"), group.structures.methodArguments().label("args"), Optional(group.structures.typeBody()).label("classBody"), set(actions.createUnqualifiedConstructorInvocation(value("constructorTypeArgs"), value("type"), value("args"), value("classBody")))); }
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")))); }
Rule unqualifiedConstructorInvocation() { return Sequence( String("new"), group.basics.testLexBreak(), group.basics.optWS(), group.types.typeArguments().label("constructorTypeArgs"), group.types.type().label("type"), group.structures.methodArguments().label("args"), Optional(group.structures.typeBody()).label("classBody"), set(actions.createUnqualifiedConstructorInvocation(value("constructorTypeArgs"), value("type"), value("args"), value("classBody")))); }
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")))); }
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")))); }
/** * Add your own modifiers! */ Rule variableDefinition() { return Sequence( group.types.type().label("type"), variableDefinitionPart().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), variableDefinitionPart()).label("tail")), set(actions.createVariableDefinition(value("type"), value("head"), values("ZeroOrMore/tail")))); }
/** * Add your own modifiers! */ Rule variableDefinition() { return Sequence( group.types.type().label("type"), variableDefinitionPart().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), variableDefinitionPart()).label("tail")), set(actions.createVariableDefinition(value("type"), value("head"), values("ZeroOrMore/tail")))); }
/** * Add your own modifiers! */ Rule variableDefinition() { return Sequence( group.types.type().label("type"), variableDefinitionPart().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), variableDefinitionPart()).label("tail")), set(actions.createVariableDefinition(value("type"), value("head"), values("ZeroOrMore/tail")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.8.2">JLS section 15.8.2</a> */ Rule qualifiedClassOrThisOrSuperLiteral() { return Sequence( group.types.type().label("type"), Ch('.').label("dot"), group.basics.optWS(), FirstOf(String("this"), String("super"), String("class")).label("thisOrSuperOrClass"), group.basics.testLexBreak(), group.basics.optWS(), set(actions.createThisOrSuperOrClass(node("dot"), text("thisOrSuperOrClass"), value("type")))); }
/** * @see <a href="http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.8.2">JLS section 15.8.2</a> */ Rule qualifiedClassOrThisOrSuperLiteral() { return Sequence( group.types.type().label("type"), Ch('.').label("dot"), group.basics.optWS(), FirstOf(String("this"), String("super"), String("class")).label("thisOrSuperOrClass"), group.basics.testLexBreak(), group.basics.optWS(), set(actions.createThisOrSuperOrClass(node("dot"), text("thisOrSuperOrClass"), value("type")))); }
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")))); } }
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 methodParameter() { return Sequence( variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), Optional(Sequence(String("..."), group.basics.optWS())).label("varargs"), group.basics.identifier().label("name"), ZeroOrMore(Sequence(Ch('[').label("open"), group.basics.optWS(), Ch(']').label("closed"), group.basics.optWS()).label("dim")).label("dims"), set(actions.createMethodParameter(value("modifiers"), value("type"), text("varargs"), value("name"), nodes("dims/dim/open"), nodes("dims/dim/closed")))); }
Rule methodParameter() { return Sequence( variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), Optional(Sequence(String("..."), group.basics.optWS())).label("varargs"), group.basics.identifier().label("name"), ZeroOrMore(Sequence(Ch('[').label("open"), group.basics.optWS(), Ch(']').label("closed"), group.basics.optWS()).label("dim")).label("dims"), set(actions.createMethodParameter(value("modifiers"), value("type"), text("varargs"), value("name"), nodes("dims/dim/open"), nodes("dims/dim/closed")))); }
Rule methodParameter() { return Sequence( variableDefinitionModifiers().label("modifiers"), group.types.type().label("type"), Optional(Sequence(String("..."), group.basics.optWS())).label("varargs"), group.basics.identifier().label("name"), ZeroOrMore(Sequence(Ch('[').label("open"), group.basics.optWS(), Ch(']').label("closed"), group.basics.optWS()).label("dim")).label("dims"), set(actions.createMethodParameter(value("modifiers"), value("type"), text("varargs"), value("name"), nodes("dims/dim/open"), nodes("dims/dim/closed")))); }