Rule methodParameters() { return Sequence( Ch('('), group.basics.optWS(), Optional(Sequence( methodParameter().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), methodParameter().label("tail"))))), Ch(')'), group.basics.optWS(), set(actions.createMethodParameters(value("Optional/Sequence/head"), values("Optional/Sequence/ZeroOrMore/Sequence/tail")))); }
Rule variableDefinitionPartNoAssign() { return Sequence( group.basics.identifier().label("varName"), ZeroOrMore(Sequence(Ch('['), group.basics.optWS(), Ch(']'), group.basics.optWS()).label("dim")).label("dims"), set(actions.createVariableDefinitionPart(value("varName"), texts("dims/dim"), null))); }
Rule annotationElementDeclaration() { return FirstOf( annotationMethodDeclaration(), fieldDeclaration(), classOrInterfaceDeclaration(), enumDeclaration(), annotationDeclaration(), Sequence(Ch(';'), group.basics.optWS()) ); }
public Rule methodDeclarationModifiers() { return Sequence( TestNot(Ch('}')), ZeroOrMore(anyModifier().label("modifier")), set(actions.createModifiers(values("ZeroOrMore/modifier")))); }
Rule annotationElementDeclaration() { return FirstOf( annotationMethodDeclaration(), fieldDeclaration(), classOrInterfaceDeclaration(), enumDeclaration(), annotationDeclaration(), Sequence(Ch(';'), group.basics.optWS()) ); }
public Rule typeDeclarationModifiers() { return Sequence( TestNot(Ch('}')), ZeroOrMore(anyModifier().label("modifier")), set(actions.createModifiers(values("ZeroOrMore/modifier")))); }
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")))); }
public Rule methodDeclarationModifiers() { return Sequence( TestNot(Ch('}')), ZeroOrMore(anyModifier().label("modifier")), set(actions.createModifiers(values("ZeroOrMore/modifier")))); }
public Rule fieldDeclarationModifiers() { return Sequence( TestNot(Ch('}')), ZeroOrMore(anyModifier().label("modifier")), set(actions.createModifiers(values("ZeroOrMore/modifier")))); }
public Rule anyTypeDeclaration() { return Sequence( TestNot(FirstOf(Eoi(), Ch('}'))), FirstOf( classOrInterfaceDeclaration(), enumDeclaration(), annotationDeclaration(), emptyDeclaration())); }
public Rule anyTypeDeclaration() { return Sequence( TestNot(FirstOf(Eoi(), Ch('}'))), FirstOf( classOrInterfaceDeclaration(), enumDeclaration(), annotationDeclaration(), emptyDeclaration())); }
Rule annotationElement() { return Sequence( group.basics.identifier().label("name"), Ch('='), group.basics.optWS(), annotationElementValue().label("value"), set(actions.createAnnotationElement(value("name"), value("value")))); }
Rule annotationElement() { return Sequence( group.basics.identifier().label("name"), Ch('='), group.basics.optWS(), annotationElementValue().label("value"), set(actions.createAnnotationElement(value("name"), value("value")))); }
Rule annotationElements() { return Sequence( annotationElement().label("head"), ZeroOrMore(Sequence( Ch(','), group.basics.optWS(), annotationElement()).label("tail")), set(actions.createAnnotationFromElements(value("head"), values("ZeroOrMore/tail")))); }
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")))); }
/** * 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")))); }
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")))); }