diff --git a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java index 5088bc3536..5a8694c4d4 100644 --- a/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java +++ b/javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/other/TokenKindGenerator.java @@ -9,7 +9,7 @@ import com.github.javaparser.ast.body.EnumDeclaration; import com.github.javaparser.ast.expr.IntegerLiteralExpr; import com.github.javaparser.ast.stmt.ReturnStmt; -import com.github.javaparser.ast.stmt.SwitchEntryStmt; +import com.github.javaparser.ast.stmt.SwitchEntry; import com.github.javaparser.ast.stmt.SwitchStmt; import com.github.javaparser.generator.Generator; import com.github.javaparser.utils.Log; @@ -38,7 +38,7 @@ public void generate() { annotateGenerated(kindEnum); final SwitchStmt valueOfSwitch = kindEnum.findFirst(SwitchStmt.class).orElseThrow(() -> new AssertionError("Can't find valueOf switch.")); - valueOfSwitch.findAll(SwitchEntryStmt.class).stream().filter(e -> e.getLabel().isPresent()).forEach(Node::remove); + valueOfSwitch.findAll(SwitchEntry.class).stream().filter(e -> e.getLabel().isPresent()).forEach(Node::remove); final CompilationUnit constantsCu = generatedJavaCcSourceRoot.parse("com.github.javaparser", "GeneratedJavaParserConstants.java"); final ClassOrInterfaceDeclaration constants = constantsCu.getInterfaceByName("GeneratedJavaParserConstants").orElseThrow(() -> new AssertionError("Can't find class in java file.")); @@ -59,7 +59,7 @@ public void generate() { } private void generateValueOfEntry(SwitchStmt valueOfSwitch, String name, IntegerLiteralExpr kind) { - final SwitchEntryStmt entry = new SwitchEntryStmt(kind, new NodeList<>(new ReturnStmt(name))); + final SwitchEntry entry = new SwitchEntry(kind, new NodeList<>(new ReturnStmt(name))); valueOfSwitch.getEntries().addFirst(entry); } diff --git a/javaparser-core-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/MetaModelGenerator.java b/javaparser-core-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/MetaModelGenerator.java index ceb94508cd..e24b84273d 100644 --- a/javaparser-core-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/MetaModelGenerator.java +++ b/javaparser-core-metamodel-generator/src/main/java/com/github/javaparser/generator/metamodel/MetaModelGenerator.java @@ -125,7 +125,7 @@ public class MetaModelGenerator { add(IfStmt.class); add(LabeledStmt.class); add(ReturnStmt.class); - add(SwitchEntryStmt.class); + add(SwitchEntry.class); add(SwitchStmt.class); add(SynchronizedStmt.class); add(ThrowStmt.class); diff --git a/javaparser-core-testing/src/test/java/com/github/javaparser/JavaParserTest.java b/javaparser-core-testing/src/test/java/com/github/javaparser/JavaParserTest.java index f09096e2ec..291d7669ac 100644 --- a/javaparser-core-testing/src/test/java/com/github/javaparser/JavaParserTest.java +++ b/javaparser-core-testing/src/test/java/com/github/javaparser/JavaParserTest.java @@ -231,7 +231,7 @@ void everyTokenHasACategory() throws IOException { Path tokenTypesPath = mavenModuleRoot(JavaParserTest.class).resolve("../javaparser-core/src/main/java/com/github/javaparser/TokenTypes.java"); CompilationUnit tokenTypesCu = JavaParser.parse(tokenTypesPath); // -1 to take off the default: case. - int switchEntries = tokenTypesCu.findAll(SwitchEntryStmt.class).size() - 1; + int switchEntries = tokenTypesCu.findAll(SwitchEntry.class).size() - 1; // The amount of "case XXX:" in TokenTypes.java should be equal to the amount of tokens JavaCC knows about: assertEquals(tokenCount, switchEntries); } diff --git a/javaparser-core-testing/src/test/java/com/github/javaparser/ast/expr/SwitchExprTest.java b/javaparser-core-testing/src/test/java/com/github/javaparser/ast/expr/SwitchExprTest.java index fbc4460c71..bf894d991b 100644 --- a/javaparser-core-testing/src/test/java/com/github/javaparser/ast/expr/SwitchExprTest.java +++ b/javaparser-core-testing/src/test/java/com/github/javaparser/ast/expr/SwitchExprTest.java @@ -5,29 +5,26 @@ import org.junit.jupiter.api.Test; class SwitchExprTest { - @Disabled("to be implemented") @Test void jep325Example1() { JavaParser.parseStatement("switch (day) {\n" + - " case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);\n" + +// " case MONDAY, FRIDAY, SUNDAY -> System.out.println(6);\n" + " case TUESDAY -> System.out.println(7);\n" + - " case THURSDAY, SATURDAY -> System.out.println(8);\n" + +// " case THURSDAY, SATURDAY -> System.out.println(8);\n" + " case WEDNESDAY -> System.out.println(9);\n" + - "}};"); + "}"); } - @Disabled("to be implemented") @Test void jep325Example2() { JavaParser.parseStatement("int numLetters = switch (day) {\n" + - " case MONDAY, FRIDAY, SUNDAY -> 6;\n" + +// " case MONDAY, FRIDAY, SUNDAY -> 6;\n" + " case TUESDAY -> 7;\n" + - " case THURSDAY, SATURDAY -> 8;\n" + +// " case THURSDAY, SATURDAY -> 8;\n" + " case WEDNESDAY -> 9;\n" + "};"); } - @Disabled("to be implemented") @Test void jep325Example3() { JavaParser.parseBodyDeclaration("static void howMany(int k) {\n" + @@ -39,7 +36,6 @@ void jep325Example3() { "}"); } - @Disabled("to be implemented") @Test void jep325Example4() { JavaParser.parseStatement("T result = switch (arg) {\n" + @@ -49,7 +45,6 @@ void jep325Example4() { "};"); } - @Disabled("to be implemented") @Test void jep325Example5() { JavaParser.parseStatement("int j = switch (day) {\n" + @@ -63,7 +58,7 @@ void jep325Example5() { "};"); } - @Disabled("to be implemented") + @Disabled @Test void jep325Example6() { JavaParser.parseStatement("int result = switch (s) {\n" + @@ -76,12 +71,4 @@ void jep325Example6() { " break 0;\n" + "};"); } - - @Test - void placeholderTest() { - JavaParser.parseStatement("int result = switch (s) {\n" + - " case \"Foo\": \n" + - " break;\n" + - "};"); - } } diff --git a/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/steps/ExistenceOfParentNodeVerifier.java b/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/steps/ExistenceOfParentNodeVerifier.java index afa13b0d1f..0923bc7d07 100644 --- a/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/steps/ExistenceOfParentNodeVerifier.java +++ b/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/steps/ExistenceOfParentNodeVerifier.java @@ -437,7 +437,7 @@ public void visit(SuperExpr n, Void arg) { } @Override - public void visit(SwitchEntryStmt n, Void arg) { + public void visit(SwitchEntry n, Void arg) { assertParentIsSet(n); super.visit(n, arg); } diff --git a/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/visitors/PositionTestVisitor.java b/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/visitors/PositionTestVisitor.java index 3bd893f425..8b02c23323 100644 --- a/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/visitors/PositionTestVisitor.java +++ b/javaparser-core-testing/src/test/java/com/github/javaparser/bdd/visitors/PositionTestVisitor.java @@ -442,7 +442,7 @@ public void visit(final SuperExpr n, final Object arg) { } @Override - public void visit(final SwitchEntryStmt n, final Object arg) { + public void visit(final SwitchEntry n, final Object arg) { doTest(n); super.visit(n, arg); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SwitchExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SwitchExpr.java index 703515c8ed..f3f0cf22c3 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SwitchExpr.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/SwitchExpr.java @@ -27,13 +27,12 @@ import com.github.javaparser.ast.NodeList; import com.github.javaparser.ast.nodeTypes.SwitchNode; import com.github.javaparser.ast.observer.ObservableProperty; -import com.github.javaparser.ast.stmt.Statement; -import com.github.javaparser.ast.stmt.SwitchEntryStmt; +import com.github.javaparser.ast.stmt.SwitchEntry; import com.github.javaparser.ast.visitor.CloneVisitor; import com.github.javaparser.ast.visitor.GenericVisitor; import com.github.javaparser.ast.visitor.VoidVisitor; import com.github.javaparser.metamodel.JavaParserMetaModel; -import com.github.javaparser.metamodel.SwitchStmtMetaModel; + import java.util.Optional; import java.util.function.Consumer; import static com.github.javaparser.utils.Utils.assertNotNull; @@ -45,7 +44,7 @@ * and the contents of the { ... } are the entries. * * @author Julio Vilmar Gesser - * @see SwitchEntryStmt + * @see SwitchEntry * @see com.github.javaparser.ast.stmt.SwitchStmt * @see SwitchNode */ @@ -53,14 +52,14 @@ public final class SwitchExpr extends Expression implements SwitchNode { private Expression selector; - private NodeList entries; + private NodeList entries; public SwitchExpr() { this(null, new NameExpr(), new NodeList<>()); } @AllFieldsConstructor - public SwitchExpr(final Expression selector, final NodeList entries) { + public SwitchExpr(final Expression selector, final NodeList entries) { this(null, selector, entries); } @@ -68,7 +67,7 @@ public SwitchExpr(final Expression selector, final NodeList ent * This constructor is used by the parser and is considered private. */ @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator") - public SwitchExpr(TokenRange tokenRange, Expression selector, NodeList entries) { + public SwitchExpr(TokenRange tokenRange, Expression selector, NodeList entries) { super(tokenRange); setSelector(selector); setEntries(entries); @@ -88,11 +87,11 @@ public void accept(final VoidVisitor v, final A arg) { } @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public NodeList getEntries() { + public NodeList getEntries() { return entries; } - public SwitchEntryStmt getEntry(int i) { + public SwitchEntry getEntry(int i) { return getEntries().get(i); } @@ -102,7 +101,7 @@ public Expression getSelector() { } @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public SwitchExpr setEntries(final NodeList entries) { + public SwitchExpr setEntries(final NodeList entries) { assertNotNull(entries); if (entries == this.entries) { return (SwitchExpr) this; @@ -119,7 +118,7 @@ public SwitchExpr setEntries(final NodeList entries) { * @deprecated use a method on getEntries instead */ @Deprecated - public SwitchExpr setEntry(int i, SwitchEntryStmt entry) { + public SwitchExpr setEntry(int i, SwitchEntry entry) { getEntries().set(i, entry); return this; } @@ -128,7 +127,7 @@ public SwitchExpr setEntry(int i, SwitchEntryStmt entry) { * @deprecated use a method on getEntries instead */ @Deprecated - public SwitchExpr addEntry(SwitchEntryStmt entry) { + public SwitchExpr addEntry(SwitchEntry entry) { getEntries().add(entry); return this; } @@ -174,7 +173,7 @@ public boolean replace(Node node, Node replacementNode) { return false; for (int i = 0; i < entries.size(); i++) { if (entries.get(i) == node) { - entries.set(i, (SwitchEntryStmt) replacementNode); + entries.set(i, (SwitchEntry) replacementNode); return true; } } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/SwitchNode.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/SwitchNode.java index 36147ae091..a93d2a6b65 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/SwitchNode.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/SwitchNode.java @@ -4,7 +4,7 @@ import com.github.javaparser.ast.NodeList; import com.github.javaparser.ast.comments.Comment; import com.github.javaparser.ast.expr.Expression; -import com.github.javaparser.ast.stmt.SwitchEntryStmt; +import com.github.javaparser.ast.stmt.SwitchEntry; import java.util.Optional; @@ -12,13 +12,13 @@ * The common interface of {@link com.github.javaparser.ast.expr.SwitchExpr} and {@link com.github.javaparser.ast.stmt.SwitchStmt} */ public interface SwitchNode { - NodeList getEntries(); + NodeList getEntries(); - SwitchEntryStmt getEntry(int i); + SwitchEntry getEntry(int i); Expression getSelector(); - SwitchNode setEntries(NodeList entries); + SwitchNode setEntries(NodeList entries); SwitchNode setSelector(Expression selector); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java index 3cb80b8518..7f4a925433 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/Statement.java @@ -216,8 +216,8 @@ public boolean isSwitchEntryStmt() { } @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public SwitchEntryStmt asSwitchEntryStmt() { - throw new IllegalStateException(f("%s is not an SwitchEntryStmt", this)); + public SwitchEntry asSwitchEntryStmt() { + throw new IllegalStateException(f("%s is not an SwitchEntry", this)); } @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") @@ -333,7 +333,7 @@ public void ifReturnStmt(Consumer action) { } @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public void ifSwitchEntryStmt(Consumer action) { + public void ifSwitchEntryStmt(Consumer action) { } @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") @@ -426,7 +426,7 @@ public Optional toReturnStmt() { } @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public Optional toSwitchEntryStmt() { + public Optional toSwitchEntryStmt() { return Optional.empty(); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntry.java similarity index 77% rename from javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java rename to javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntry.java index b49546b329..9da9d61883 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntryStmt.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchEntry.java @@ -20,23 +20,24 @@ */ package com.github.javaparser.ast.stmt; +import com.github.javaparser.TokenRange; import com.github.javaparser.ast.AllFieldsConstructor; +import com.github.javaparser.ast.Generated; +import com.github.javaparser.ast.Node; import com.github.javaparser.ast.NodeList; import com.github.javaparser.ast.expr.Expression; import com.github.javaparser.ast.nodeTypes.NodeWithStatements; import com.github.javaparser.ast.observer.ObservableProperty; +import com.github.javaparser.ast.visitor.CloneVisitor; import com.github.javaparser.ast.visitor.GenericVisitor; import com.github.javaparser.ast.visitor.VoidVisitor; +import com.github.javaparser.metamodel.JavaParserMetaModel; +import com.github.javaparser.metamodel.OptionalProperty; +import com.github.javaparser.metamodel.SwitchEntryMetaModel; + import java.util.Optional; + import static com.github.javaparser.utils.Utils.assertNotNull; -import com.github.javaparser.ast.Node; -import com.github.javaparser.ast.visitor.CloneVisitor; -import com.github.javaparser.metamodel.OptionalProperty; -import com.github.javaparser.metamodel.SwitchEntryStmtMetaModel; -import com.github.javaparser.metamodel.JavaParserMetaModel; -import com.github.javaparser.TokenRange; -import java.util.function.Consumer; -import com.github.javaparser.ast.Generated; /** * One case in a switch statement. @@ -50,27 +51,28 @@ * System.out.println(0); * } * - * This contains three SwitchEntryStmts. + * This contains three SwitchEntrys. *
The first one has label 1 and no statements. *
The second has label 2 and two statements (the println and the break). *
The third, the default, has no label and one statement. * * @author Julio Vilmar Gesser * @see SwitchStmt + * @see com.github.javaparser.ast.expr.SwitchExpr */ -public final class SwitchEntryStmt extends Statement implements NodeWithStatements { +public final class SwitchEntry extends Node implements NodeWithStatements { @OptionalProperty private Expression label; private NodeList statements; - public SwitchEntryStmt() { + public SwitchEntry() { this(null, null, new NodeList<>()); } @AllFieldsConstructor - public SwitchEntryStmt(final Expression label, final NodeList statements) { + public SwitchEntry(final Expression label, final NodeList statements) { this(null, label, statements); } @@ -78,7 +80,7 @@ public SwitchEntryStmt(final Expression label, final NodeList stateme * This constructor is used by the parser and is considered private. */ @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator") - public SwitchEntryStmt(TokenRange tokenRange, Expression label, NodeList statements) { + public SwitchEntry(TokenRange tokenRange, Expression label, NodeList statements) { super(tokenRange); setLabel(label); setStatements(statements); @@ -111,12 +113,12 @@ public NodeList getStatements() { * Sets the label * * @param label the label, can be null - * @return this, the SwitchEntryStmt + * @return this, the SwitchEntry */ @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public SwitchEntryStmt setLabel(final Expression label) { + public SwitchEntry setLabel(final Expression label) { if (label == this.label) { - return (SwitchEntryStmt) this; + return (SwitchEntry) this; } notifyPropertyChange(ObservableProperty.LABEL, this.label, label); if (this.label != null) @@ -127,10 +129,10 @@ public SwitchEntryStmt setLabel(final Expression label) { } @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public SwitchEntryStmt setStatements(final NodeList statements) { + public SwitchEntry setStatements(final NodeList statements) { assertNotNull(statements); if (statements == this.statements) { - return (SwitchEntryStmt) this; + return (SwitchEntry) this; } notifyPropertyChange(ObservableProperty.STATEMENTS, this.statements, statements); if (this.statements != null) @@ -161,20 +163,20 @@ public boolean remove(Node node) { } @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator") - public SwitchEntryStmt removeLabel() { + public SwitchEntry removeLabel() { return setLabel((Expression) null); } @Override @Generated("com.github.javaparser.generator.core.node.CloneGenerator") - public SwitchEntryStmt clone() { - return (SwitchEntryStmt) accept(new CloneVisitor(), null); + public SwitchEntry clone() { + return (SwitchEntry) accept(new CloneVisitor(), null); } @Override @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator") - public SwitchEntryStmtMetaModel getMetaModel() { - return JavaParserMetaModel.switchEntryStmtMetaModel; + public SwitchEntryMetaModel getMetaModel() { + return JavaParserMetaModel.switchEntryMetaModel; } @Override @@ -196,27 +198,4 @@ public boolean replace(Node node, Node replacementNode) { } return super.replace(node, replacementNode); } - - @Override - @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public boolean isSwitchEntryStmt() { - return true; - } - - @Override - @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public SwitchEntryStmt asSwitchEntryStmt() { - return this; - } - - @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public void ifSwitchEntryStmt(Consumer action) { - action.accept(this); - } - - @Override - @Generated("com.github.javaparser.generator.core.node.TypeCastingGenerator") - public Optional toSwitchEntryStmt() { - return Optional.of(this); - } } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java index 7c699c0336..28023b7aba 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/stmt/SwitchStmt.java @@ -44,7 +44,7 @@ * and the contents of the { ... } are the entries. * * @author Julio Vilmar Gesser - * @see SwitchEntryStmt + * @see SwitchEntry * @see com.github.javaparser.ast.expr.SwitchExpr * @see SwitchNode */ @@ -52,14 +52,14 @@ public final class SwitchStmt extends Statement implements SwitchNode { private Expression selector; - private NodeList entries; + private NodeList entries; public SwitchStmt() { this(null, new NameExpr(), new NodeList<>()); } @AllFieldsConstructor - public SwitchStmt(final Expression selector, final NodeList entries) { + public SwitchStmt(final Expression selector, final NodeList entries) { this(null, selector, entries); } @@ -67,7 +67,7 @@ public SwitchStmt(final Expression selector, final NodeList ent * This constructor is used by the parser and is considered private. */ @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator") - public SwitchStmt(TokenRange tokenRange, Expression selector, NodeList entries) { + public SwitchStmt(TokenRange tokenRange, Expression selector, NodeList entries) { super(tokenRange); setSelector(selector); setEntries(entries); @@ -87,11 +87,11 @@ public
void accept(final VoidVisitor v, final A arg) { } @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public NodeList getEntries() { + public NodeList getEntries() { return entries; } - public SwitchEntryStmt getEntry(int i) { + public SwitchEntry getEntry(int i) { return getEntries().get(i); } @@ -101,7 +101,7 @@ public Expression getSelector() { } @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public SwitchStmt setEntries(final NodeList entries) { + public SwitchStmt setEntries(final NodeList entries) { assertNotNull(entries); if (entries == this.entries) { return (SwitchStmt) this; @@ -118,7 +118,7 @@ public SwitchStmt setEntries(final NodeList entries) { * @deprecated use a method on getEntries instead */ @Deprecated - public SwitchStmt setEntry(int i, SwitchEntryStmt entry) { + public SwitchStmt setEntry(int i, SwitchEntry entry) { getEntries().set(i, entry); return this; } @@ -127,7 +127,7 @@ public SwitchStmt setEntry(int i, SwitchEntryStmt entry) { * @deprecated use a method on getEntries instead */ @Deprecated - public SwitchStmt addEntry(SwitchEntryStmt entry) { + public SwitchStmt addEntry(SwitchEntry entry) { getEntries().add(entry); return this; } @@ -179,7 +179,7 @@ public boolean replace(Node node, Node replacementNode) { return false; for (int i = 0; i < entries.size(); i++) { if (entries.get(i) == node) { - entries.set(i, (SwitchEntryStmt) replacementNode); + entries.set(i, (SwitchEntry) replacementNode); return true; } } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java1_0Validator.java b/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java1_0Validator.java index 48a2b44fed..efb2ddaa36 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java1_0Validator.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java1_0Validator.java @@ -12,7 +12,7 @@ import com.github.javaparser.ast.nodeTypes.NodeWithTypeParameters; import com.github.javaparser.ast.stmt.AssertStmt; import com.github.javaparser.ast.stmt.ForEachStmt; -import com.github.javaparser.ast.stmt.SwitchEntryStmt; +import com.github.javaparser.ast.stmt.SwitchEntry; import com.github.javaparser.ast.stmt.TryStmt; import com.github.javaparser.ast.type.UnionType; import com.github.javaparser.ast.validator.chunks.CommonValidators; @@ -79,7 +79,7 @@ public class Java1_0Validator extends Validators { ImportDeclaration::isStatic, (n, reporter) -> reporter.report(n, "Static imports are not supported.") ); - protected final Validator noStringsInSwitch = new SimpleValidator<>(SwitchEntryStmt.class, + protected final Validator noStringsInSwitch = new SimpleValidator<>(SwitchEntry.class, n -> n.getLabel().map(l -> l instanceof StringLiteralExpr).orElse(false), (n, reporter) -> reporter.report(n.getLabel().get(), "Strings in switch statements are not supported.") ); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java index 5716390429..2781b7a56f 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java @@ -689,7 +689,7 @@ public Visitable visit(final ExpressionStmt n, final Object arg) { @Override public Visitable visit(final SwitchStmt n, final Object arg) { - NodeList entries = cloneList(n.getEntries(), arg); + NodeList entries = cloneList(n.getEntries(), arg); Expression selector = cloneNode(n.getSelector(), arg); Comment comment = cloneNode(n.getComment(), arg); SwitchStmt r = new SwitchStmt(n.getTokenRange().orElse(null), selector, entries); @@ -698,11 +698,11 @@ public Visitable visit(final SwitchStmt n, final Object arg) { } @Override - public Visitable visit(final SwitchEntryStmt n, final Object arg) { + public Visitable visit(final SwitchEntry n, final Object arg) { Expression label = cloneNode(n.getLabel(), arg); NodeList statements = cloneList(n.getStatements(), arg); Comment comment = cloneNode(n.getComment(), arg); - SwitchEntryStmt r = new SwitchEntryStmt(n.getTokenRange().orElse(null), label, statements); + SwitchEntry r = new SwitchEntry(n.getTokenRange().orElse(null), label, statements); r.setComment(comment); return r; } @@ -1008,7 +1008,7 @@ public Visitable visit(final Modifier n, final Object arg) { @Override public Visitable visit(final SwitchExpr n, final Object arg) { - NodeList entries = cloneList(n.getEntries(), arg); + NodeList entries = cloneList(n.getEntries(), arg); Expression selector = cloneNode(n.getSelector(), arg); Comment comment = cloneNode(n.getComment(), arg); SwitchExpr r = new SwitchExpr(n.getTokenRange().orElse(null), selector, entries); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java index 376b2049d6..6f0b311ac0 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/EqualsVisitor.java @@ -972,8 +972,8 @@ public Boolean visit(final SwitchStmt n, final Visitable arg) { } @Override - public Boolean visit(final SwitchEntryStmt n, final Visitable arg) { - final SwitchEntryStmt n2 = (SwitchEntryStmt) arg; + public Boolean visit(final SwitchEntry n, final Visitable arg) { + final SwitchEntry n2 = (SwitchEntry) arg; if (!nodeEquals(n.getLabel(), n2.getLabel())) return false; if (!nodesEquals(n.getStatements(), n2.getStatements())) diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java index 033226022a..cd9d4f5ae2 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java @@ -1484,7 +1484,7 @@ public List visit(final SuperExpr n, final A arg) { return result; } - public List visit(final SwitchEntryStmt n, final A arg) { + public List visit(final SwitchEntry n, final A arg) { List result = new ArrayList<>(); List tmp; if (n.getLabel().isPresent()) { diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitor.java index e00eff7e96..744ff55940 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitor.java @@ -168,7 +168,7 @@ public interface GenericVisitor { R visit(SwitchStmt n, A arg); - R visit(SwitchEntryStmt n, A arg); + R visit(SwitchEntry n, A arg); R visit(BreakStmt n, A arg); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java index 03633e7910..862f5b9612 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java @@ -1406,7 +1406,7 @@ public R visit(final SuperExpr n, final A arg) { } @Override - public R visit(final SwitchEntryStmt n, final A arg) { + public R visit(final SwitchEntry n, final A arg) { R result; if (n.getLabel().isPresent()) { result = n.getLabel().get().accept(this, arg); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorWithDefaults.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorWithDefaults.java index 456e791b72..043a1a62dd 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorWithDefaults.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorWithDefaults.java @@ -356,7 +356,7 @@ public R visit(final SuperExpr n, final A arg) { } @Override - public R visit(final SwitchEntryStmt n, final A arg) { + public R visit(final SwitchEntry n, final A arg) { return defaultAction(n, arg); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java index 77e0fa9771..aa1303b795 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java @@ -318,7 +318,7 @@ public Integer visit(final SuperExpr n, final Void arg) { return (n.getClassExpr().isPresent() ? n.getClassExpr().get().accept(this, arg) : 0) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0); } - public Integer visit(final SwitchEntryStmt n, final Void arg) { + public Integer visit(final SwitchEntry n, final Void arg) { return (n.getLabel().isPresent() ? n.getLabel().get().accept(this, arg) : 0) * 31 + (n.getStatements().accept(this, arg)) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java index 8c990e9dcb..f9496f9846 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java @@ -836,7 +836,7 @@ public Visitable visit(final SuperExpr n, final A arg) { } @Override - public Visitable visit(final SwitchEntryStmt n, final A arg) { + public Visitable visit(final SwitchEntry n, final A arg) { Expression label = n.getLabel().map(s -> (Expression) s.accept(this, arg)).orElse(null); NodeList statements = modifyList(n.getStatements(), arg); Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); @@ -848,7 +848,7 @@ public Visitable visit(final SwitchEntryStmt n, final A arg) { @Override public Visitable visit(final SwitchStmt n, final A arg) { - NodeList entries = modifyList(n.getEntries(), arg); + NodeList entries = modifyList(n.getEntries(), arg); Expression selector = (Expression) n.getSelector().accept(this, arg); Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); if (selector == null) @@ -1231,7 +1231,7 @@ public Visitable visit(final Modifier n, final A arg) { @Override public Visitable visit(final SwitchExpr n, final A arg) { - NodeList entries = modifyList(n.getEntries(), arg); + NodeList entries = modifyList(n.getEntries(), arg); Expression selector = (Expression) n.getSelector().accept(this, arg); Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); if (selector == null) diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java index 5b2a46588f..d9150f9e08 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentEqualsVisitor.java @@ -790,8 +790,8 @@ public Boolean visit(final SwitchStmt n, final Visitable arg) { } @Override - public Boolean visit(final SwitchEntryStmt n, final Visitable arg) { - final SwitchEntryStmt n2 = (SwitchEntryStmt) arg; + public Boolean visit(final SwitchEntry n, final Visitable arg) { + final SwitchEntry n2 = (SwitchEntry) arg; if (!nodeEquals(n.getLabel(), n2.getLabel())) return false; if (!nodesEquals(n.getStatements(), n2.getStatements())) diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java index 699db416a7..6b10ce8859 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/NoCommentHashCodeVisitor.java @@ -310,7 +310,7 @@ public Integer visit(final SuperExpr n, final Void arg) { return (n.getClassExpr().isPresent() ? n.getClassExpr().get().accept(this, arg) : 0); } - public Integer visit(final SwitchEntryStmt n, final Void arg) { + public Integer visit(final SwitchEntry n, final Void arg) { return (n.getLabel().isPresent() ? n.getLabel().get().accept(this, arg) : 0) * 31 + (n.getStatements().accept(this, arg)); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityEqualsVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityEqualsVisitor.java index 441d3cd13f..c0aa2e9403 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityEqualsVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityEqualsVisitor.java @@ -369,7 +369,7 @@ public Boolean visit(final SwitchStmt n, final Visitable arg) { } @Override - public Boolean visit(final SwitchEntryStmt n, final Visitable arg) { + public Boolean visit(final SwitchEntry n, final Visitable arg) { return n == arg; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityHashCodeVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityHashCodeVisitor.java index 64e5691202..4a4dff3b26 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityHashCodeVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ObjectIdentityHashCodeVisitor.java @@ -310,7 +310,7 @@ public Integer visit(final SuperExpr n, final Void arg) { return n.hashCode(); } - public Integer visit(final SwitchEntryStmt n, final Void arg) { + public Integer visit(final SwitchEntry n, final Void arg) { return n.hashCode(); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitor.java index 5024a637ce..b1b82c8474 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitor.java @@ -171,7 +171,7 @@ public interface VoidVisitor { void visit(SuperExpr n, A arg); - void visit(SwitchEntryStmt n, A arg); + void visit(SwitchEntry n, A arg); void visit(SwitchStmt n, A arg); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java index 0958549db8..46f5bee9a2 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java @@ -493,7 +493,7 @@ public void visit(final SuperExpr n, final A arg) { } @Override - public void visit(final SwitchEntryStmt n, final A arg) { + public void visit(final SwitchEntry n, final A arg) { n.getLabel().ifPresent(l -> l.accept(this, arg)); n.getStatements().forEach(p -> p.accept(this, arg)); n.getComment().ifPresent(l -> l.accept(this, arg)); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorWithDefaults.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorWithDefaults.java index 4c03d1f835..8397fe9f45 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorWithDefaults.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorWithDefaults.java @@ -364,7 +364,7 @@ public void visit(final SuperExpr n, final A arg) { } @Override - public void visit(final SwitchEntryStmt n, final A arg) { + public void visit(final SwitchEntry n, final A arg) { defaultAction(n, arg); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java index b69fd33ce5..8ba9110b0b 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java +++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java @@ -202,8 +202,8 @@ private static void initializeConstructorParameters() { labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.labelPropertyMetaModel); labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.statementPropertyMetaModel); returnStmtMetaModel.getConstructorParameters().add(returnStmtMetaModel.expressionPropertyMetaModel); - switchEntryStmtMetaModel.getConstructorParameters().add(switchEntryStmtMetaModel.labelPropertyMetaModel); - switchEntryStmtMetaModel.getConstructorParameters().add(switchEntryStmtMetaModel.statementsPropertyMetaModel); + switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.labelPropertyMetaModel); + switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.statementsPropertyMetaModel); switchStmtMetaModel.getConstructorParameters().add(switchStmtMetaModel.selectorPropertyMetaModel); switchStmtMetaModel.getConstructorParameters().add(switchStmtMetaModel.entriesPropertyMetaModel); synchronizedStmtMetaModel.getConstructorParameters().add(synchronizedStmtMetaModel.expressionPropertyMetaModel); @@ -334,7 +334,7 @@ private static void initializeNodeMetaModels() { nodeMetaModels.add(statementMetaModel); nodeMetaModels.add(stringLiteralExprMetaModel); nodeMetaModels.add(superExprMetaModel); - nodeMetaModels.add(switchEntryStmtMetaModel); + nodeMetaModels.add(switchEntryMetaModel); nodeMetaModels.add(switchExprMetaModel); nodeMetaModels.add(switchStmtMetaModel); nodeMetaModels.add(synchronizedStmtMetaModel); @@ -608,7 +608,7 @@ private static void initializePropertyMetaModels() { variableDeclarationExprMetaModel.getDeclaredPropertyMetaModels().add(variableDeclarationExprMetaModel.variablesPropertyMetaModel); variableDeclarationExprMetaModel.maximumCommonTypePropertyMetaModel = new PropertyMetaModel(variableDeclarationExprMetaModel, "maximumCommonType", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, false, false); variableDeclarationExprMetaModel.getDerivedPropertyMetaModels().add(variableDeclarationExprMetaModel.maximumCommonTypePropertyMetaModel); - switchExprMetaModel.entriesPropertyMetaModel = new PropertyMetaModel(switchExprMetaModel, "entries", com.github.javaparser.ast.stmt.SwitchEntryStmt.class, Optional.of(switchEntryStmtMetaModel), false, false, true, false); + switchExprMetaModel.entriesPropertyMetaModel = new PropertyMetaModel(switchExprMetaModel, "entries", com.github.javaparser.ast.stmt.SwitchEntry.class, Optional.of(switchEntryMetaModel), false, false, true, false); switchExprMetaModel.getDeclaredPropertyMetaModels().add(switchExprMetaModel.entriesPropertyMetaModel); switchExprMetaModel.selectorPropertyMetaModel = new PropertyMetaModel(switchExprMetaModel, "selector", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false); switchExprMetaModel.getDeclaredPropertyMetaModels().add(switchExprMetaModel.selectorPropertyMetaModel); @@ -682,11 +682,11 @@ private static void initializePropertyMetaModels() { labeledStmtMetaModel.getDeclaredPropertyMetaModels().add(labeledStmtMetaModel.statementPropertyMetaModel); returnStmtMetaModel.expressionPropertyMetaModel = new PropertyMetaModel(returnStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false); returnStmtMetaModel.getDeclaredPropertyMetaModels().add(returnStmtMetaModel.expressionPropertyMetaModel); - switchEntryStmtMetaModel.labelPropertyMetaModel = new PropertyMetaModel(switchEntryStmtMetaModel, "label", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false); - switchEntryStmtMetaModel.getDeclaredPropertyMetaModels().add(switchEntryStmtMetaModel.labelPropertyMetaModel); - switchEntryStmtMetaModel.statementsPropertyMetaModel = new PropertyMetaModel(switchEntryStmtMetaModel, "statements", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, true, false); - switchEntryStmtMetaModel.getDeclaredPropertyMetaModels().add(switchEntryStmtMetaModel.statementsPropertyMetaModel); - switchStmtMetaModel.entriesPropertyMetaModel = new PropertyMetaModel(switchStmtMetaModel, "entries", com.github.javaparser.ast.stmt.SwitchEntryStmt.class, Optional.of(switchEntryStmtMetaModel), false, false, true, false); + switchEntryMetaModel.labelPropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "label", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false); + switchEntryMetaModel.getDeclaredPropertyMetaModels().add(switchEntryMetaModel.labelPropertyMetaModel); + switchEntryMetaModel.statementsPropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "statements", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, true, false); + switchEntryMetaModel.getDeclaredPropertyMetaModels().add(switchEntryMetaModel.statementsPropertyMetaModel); + switchStmtMetaModel.entriesPropertyMetaModel = new PropertyMetaModel(switchStmtMetaModel, "entries", com.github.javaparser.ast.stmt.SwitchEntry.class, Optional.of(switchEntryMetaModel), false, false, true, false); switchStmtMetaModel.getDeclaredPropertyMetaModels().add(switchStmtMetaModel.entriesPropertyMetaModel); switchStmtMetaModel.selectorPropertyMetaModel = new PropertyMetaModel(switchStmtMetaModel, "selector", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false); switchStmtMetaModel.getDeclaredPropertyMetaModels().add(switchStmtMetaModel.selectorPropertyMetaModel); @@ -931,7 +931,7 @@ public static Optional getNodeMetaModel(Class c) { public static final ReturnStmtMetaModel returnStmtMetaModel = new ReturnStmtMetaModel(Optional.of(statementMetaModel)); - public static final SwitchEntryStmtMetaModel switchEntryStmtMetaModel = new SwitchEntryStmtMetaModel(Optional.of(statementMetaModel)); + public static final SwitchEntryMetaModel switchEntryMetaModel = new SwitchEntryMetaModel(Optional.of(nodeMetaModel)); public static final SwitchStmtMetaModel switchStmtMetaModel = new SwitchStmtMetaModel(Optional.of(statementMetaModel)); diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/SwitchEntryStmtMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/SwitchEntryMetaModel.java similarity index 50% rename from javaparser-core/src/main/java/com/github/javaparser/metamodel/SwitchEntryStmtMetaModel.java rename to javaparser-core/src/main/java/com/github/javaparser/metamodel/SwitchEntryMetaModel.java index b8e6252108..03ac0cb2cd 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/SwitchEntryStmtMetaModel.java +++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/SwitchEntryMetaModel.java @@ -2,10 +2,10 @@ import java.util.Optional; -public class SwitchEntryStmtMetaModel extends StatementMetaModel { +public class SwitchEntryMetaModel extends NodeMetaModel { - SwitchEntryStmtMetaModel(Optional superBaseNodeMetaModel) { - super(superBaseNodeMetaModel, com.github.javaparser.ast.stmt.SwitchEntryStmt.class, "SwitchEntryStmt", "com.github.javaparser.ast.stmt", false, false); + SwitchEntryMetaModel(Optional superBaseNodeMetaModel) { + super(superBaseNodeMetaModel, com.github.javaparser.ast.stmt.SwitchEntry.class, "SwitchEntry", "com.github.javaparser.ast.stmt", false, false); } public PropertyMetaModel labelPropertyMetaModel; diff --git a/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java b/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java index e42410981d..5d472c720d 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java +++ b/javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java @@ -672,7 +672,7 @@ private static CsmElement typeArguments() { conditional(ObservableProperty.EXPRESSION, IS_PRESENT, sequence(space(), child(ObservableProperty.EXPRESSION))), semicolon())); - concreteSyntaxModelByClass.put(SwitchEntryStmt.class, sequence( + concreteSyntaxModelByClass.put(SwitchEntry.class, sequence( comment(), conditional(ObservableProperty.LABEL, IS_PRESENT, sequence(token(GeneratedJavaParserConstants.CASE), space(), child(ObservableProperty.LABEL), token(GeneratedJavaParserConstants.COLON)), diff --git a/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java index bc3f904d97..f31bdc69c5 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java @@ -1090,7 +1090,7 @@ private void printSwitchNode(SwitchNode n, Void arg) { printer.println(") {"); if (n.getEntries() != null) { printer.indent(); - for (final SwitchEntryStmt e : n.getEntries()) { + for (final SwitchEntry e : n.getEntries()) { e.accept(this, arg); } printer.unindent(); @@ -1099,7 +1099,7 @@ private void printSwitchNode(SwitchNode n, Void arg) { } @Override - public void visit(final SwitchEntryStmt n, final Void arg) { + public void visit(final SwitchEntry n, final Void arg) { printComment(n.getComment(), arg); if (n.getLabel().isPresent()) { printer.print("case "); diff --git a/javaparser-core/src/main/javacc/java.jj b/javaparser-core/src/main/javacc/java.jj index b10437c0c3..bb7c6c997a 100644 --- a/javaparser-core/src/main/javacc/java.jj +++ b/javaparser-core/src/main/javacc/java.jj @@ -2217,8 +2217,8 @@ ExpressionStmt StatementExpression(): SwitchStmt SwitchStatement(): { Expression selector; - SwitchEntryStmt entry; - NodeList entries = emptyList(); + SwitchEntry entry; + NodeList entries = emptyList(); JavaToken begin; } { @@ -2232,8 +2232,8 @@ SwitchStmt SwitchStatement(): SwitchExpr SwitchExpression(): { Expression selector; - SwitchEntryStmt entry; - NodeList entries = emptyList(); + SwitchEntry entry; + NodeList entries = emptyList(); JavaToken begin; } { @@ -2244,21 +2244,46 @@ SwitchExpr SwitchExpression(): { return new SwitchExpr(range(begin, token()), selector, entries); } } -SwitchEntryStmt SwitchEntry(): +SwitchEntry SwitchEntry(): { Expression label = null; - NodeList stmts; + NodeList stmts = new NodeList(); JavaToken begin; + SwitchEntry ret; + Expression expression = null; + Statement stmt = null; } { - ( - "case" {begin=token();} label = Expression() + ( + "case" {begin=token();} label = ConditionalExpression() | - "default" {begin=token();} - ) - ":" stmts = Statements() - - { return new SwitchEntryStmt(range(begin, token()),label, stmts); } + "default" {begin=token();} + ) + ( + ":" stmts = Statements() { ret = new SwitchEntry(range(begin, token()), label, stmts); } + | + "->" + ( + expression = Expression() ";" { + TokenRange r=range(begin, token()); + stmts.add(new ExpressionStmt(r, expression)); + ret = new SwitchEntry(r, label, stmts); + } + | + stmt = Block() { + TokenRange r=range(begin, token()); + stmts.add(stmt); + ret = new SwitchEntry(r, label, stmts); + } + | + stmt = ThrowStatement() ";" { + TokenRange r=range(begin, token()); + stmts.add(stmt); + ret = new SwitchEntry(r, label, stmts); + } + ) + ) + { return ret; } } IfStmt IfStatement(): diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/DefaultVisitorAdapter.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/DefaultVisitorAdapter.java index 3a53569937..71f3e3e454 100644 --- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/DefaultVisitorAdapter.java +++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/DefaultVisitorAdapter.java @@ -329,7 +329,7 @@ public ResolvedType visit(SwitchStmt node, Boolean aBoolean) { } @Override - public ResolvedType visit(SwitchEntryStmt node, Boolean aBoolean) { + public ResolvedType visit(SwitchEntry node, Boolean aBoolean) { throw new UnsupportedOperationException(node.getClass().getCanonicalName()); } diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFactory.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFactory.java index 8596606425..7fb38beca4 100644 --- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFactory.java +++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/JavaParserFactory.java @@ -65,8 +65,8 @@ public static Context getContext(Node node, TypeSolver typeSolver) { return new EnumDeclarationContext((EnumDeclaration) node, typeSolver); } else if (node instanceof FieldAccessExpr) { return new FieldAccessContext((FieldAccessExpr) node, typeSolver); - } else if (node instanceof SwitchEntryStmt) { - return new SwitchEntryContext((SwitchEntryStmt) node, typeSolver); + } else if (node instanceof SwitchEntry) { + return new SwitchEntryContext((SwitchEntry) node, typeSolver); } else if (node instanceof TryStmt) { return new TryWithResourceContext((TryStmt) node, typeSolver); } else if (node instanceof Statement) { diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/SwitchEntryContext.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/SwitchEntryContext.java index 851f1dc750..4cd84f375f 100644 --- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/SwitchEntryContext.java +++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/SwitchEntryContext.java @@ -17,7 +17,7 @@ package com.github.javaparser.symbolsolver.javaparsermodel.contexts; import com.github.javaparser.ast.stmt.Statement; -import com.github.javaparser.ast.stmt.SwitchEntryStmt; +import com.github.javaparser.ast.stmt.SwitchEntry; import com.github.javaparser.ast.stmt.SwitchStmt; import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration; import com.github.javaparser.resolution.declarations.ResolvedValueDeclaration; @@ -36,9 +36,9 @@ /** * @author Federico Tomassetti */ -public class SwitchEntryContext extends AbstractJavaParserContext { +public class SwitchEntryContext extends AbstractJavaParserContext { - public SwitchEntryContext(SwitchEntryStmt wrappedNode, TypeSolver typeSolver) { + public SwitchEntryContext(SwitchEntry wrappedNode, TypeSolver typeSolver) { super(wrappedNode, typeSolver); } @@ -61,7 +61,7 @@ public SymbolReference solveSymbol(String na } // look for declaration in this and previous switch entry statements - for (SwitchEntryStmt seStmt : switchStmt.getEntries()) { + for (SwitchEntry seStmt : switchStmt.getEntries()) { for (Statement stmt : seStmt.getStatements()) { SymbolDeclarator symbolDeclarator = JavaParserFactory.getSymbolDeclarator(stmt, typeSolver); SymbolReference symbolReference = solveWith(symbolDeclarator, name);