public Rule staticInitializer() { return Sequence( String("static"), group.basics.testLexBreak(), group.basics.optWS(), group.statements.blockStatement().label("initializer"), set(actions.createStaticInitializer(value("initializer")))); }
public Rule staticInitializer() { return Sequence( String("static"), group.basics.testLexBreak(), group.basics.optWS(), group.statements.blockStatement().label("initializer"), set(actions.createStaticInitializer(value("initializer")))); }
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")))); }
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")))); }
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")))); }
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")))); }
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 enumDeclaration() { return Sequence( typeDeclarationModifiers().label("modifiers"), String("enum"), group.basics.testLexBreak(), group.basics.optWS(), group.basics.identifier().label("typeName"), ZeroOrMore(FirstOf( extendsClause(), implementsClause()).label("addon")).label("addons"), enumBody().label("body"), set(actions.createEnumDeclaration(value("modifiers"), value("typeName"), value("body"), values("addons/addon")))); }
public Rule enumDeclaration() { return Sequence( typeDeclarationModifiers().label("modifiers"), String("enum"), group.basics.testLexBreak(), group.basics.optWS(), group.basics.identifier().label("typeName"), ZeroOrMore(FirstOf( extendsClause(), implementsClause()).label("addon")).label("addons"), enumBody().label("body"), set(actions.createEnumDeclaration(value("modifiers"), value("typeName"), value("body"), values("addons/addon")))); }
public Rule enumDeclaration() { return Sequence( typeDeclarationModifiers().label("modifiers"), String("enum"), group.basics.testLexBreak(), group.basics.optWS(), group.basics.identifier().label("typeName"), ZeroOrMore(FirstOf( extendsClause(), implementsClause()).label("addon")).label("addons"), enumBody().label("body"), set(actions.createEnumDeclaration(value("modifiers"), value("typeName"), value("body"), values("addons/addon")))); }
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 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 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")))); }
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")))); }