Skip to content

Commit

Permalink
Support multiple "case" labels
Browse files Browse the repository at this point in the history
  • Loading branch information
matozoid committed Jan 25, 2019
1 parent 717b7c9 commit 1082101
Show file tree
Hide file tree
Showing 22 changed files with 90 additions and 91 deletions.
Expand Up @@ -38,7 +38,7 @@ public void generate() {
annotateGenerated(kindEnum); annotateGenerated(kindEnum);


final SwitchStmt valueOfSwitch = kindEnum.findFirst(SwitchStmt.class).orElseThrow(() -> new AssertionError("Can't find valueOf switch.")); final SwitchStmt valueOfSwitch = kindEnum.findFirst(SwitchStmt.class).orElseThrow(() -> new AssertionError("Can't find valueOf switch."));
valueOfSwitch.findAll(SwitchEntry.class).stream().filter(e -> e.getLabel().isPresent()).forEach(Node::remove); valueOfSwitch.findAll(SwitchEntry.class).stream().filter(e -> e.getLabels().isNonEmpty()).forEach(Node::remove);


final CompilationUnit constantsCu = generatedJavaCcSourceRoot.parse("com.github.javaparser", "GeneratedJavaParserConstants.java"); 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.")); final ClassOrInterfaceDeclaration constants = constantsCu.getInterfaceByName("GeneratedJavaParserConstants").orElseThrow(() -> new AssertionError("Can't find class in java file."));
Expand All @@ -59,7 +59,7 @@ public void generate() {
} }


private void generateValueOfEntry(SwitchStmt valueOfSwitch, String name, IntegerLiteralExpr kind) { private void generateValueOfEntry(SwitchStmt valueOfSwitch, String name, IntegerLiteralExpr kind) {
final SwitchEntry entry = new SwitchEntry(kind, SwitchEntry.Type.STATEMENT_GROUP, new NodeList<>(new ReturnStmt(name))); final SwitchEntry entry = new SwitchEntry(new NodeList<>(kind), SwitchEntry.Type.STATEMENT_GROUP, new NodeList<>(new ReturnStmt(name)));
valueOfSwitch.getEntries().addFirst(entry); valueOfSwitch.getEntries().addFirst(entry);
} }


Expand Down
Expand Up @@ -11,9 +11,9 @@ class SwitchExprTest {
@Test @Test
void jep325Example2() { void jep325Example2() {
parseStatement("int numLetters = switch (day) {\n" + parseStatement("int numLetters = switch (day) {\n" +
// " case MONDAY, FRIDAY, SUNDAY -> 6;\n" + " case MONDAY, FRIDAY, SUNDAY -> 6;\n" +
" case TUESDAY -> 7;\n" + " case TUESDAY -> 7;\n" +
// " case THURSDAY, SATURDAY -> 8;\n" + " case THURSDAY, SATURDAY -> 8;\n" +
" case WEDNESDAY -> 9;\n" + " case WEDNESDAY -> 9;\n" +
"};"); "};");
} }
Expand Down
@@ -1,5 +1,6 @@
package com.github.javaparser.ast.stmt; package com.github.javaparser.ast.stmt;


import com.github.javaparser.ast.NodeList;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;


import java.util.Optional; import java.util.Optional;
Expand All @@ -21,7 +22,7 @@ void classicSwitch() {
assertEquals(STATEMENT_GROUP, switchStmt.getEntry(0).getType()); assertEquals(STATEMENT_GROUP, switchStmt.getEntry(0).getType());
assertEquals(STATEMENT_GROUP, switchStmt.getEntry(1).getType()); assertEquals(STATEMENT_GROUP, switchStmt.getEntry(1).getType());
assertEquals(STATEMENT_GROUP, switchStmt.getEntry(2).getType()); assertEquals(STATEMENT_GROUP, switchStmt.getEntry(2).getType());
assertEquals(Optional.empty(), switchStmt.getEntry(2).getLabel()); assertEquals(new NodeList<>(), switchStmt.getEntry(2).getLabels());
} }
@Test @Test
void jep325Example1() { void jep325Example1() {
Expand Down
Expand Up @@ -19,7 +19,7 @@ class Java6ValidatorTest {
@Test @Test
void noStringsInSwitch() { void noStringsInSwitch() {
ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("switch(x){case \"abc\": ;}")); ParseResult<Statement> result = javaParser.parse(STATEMENT, provider("switch(x){case \"abc\": ;}"));
assertProblems(result, "(line 1,col 16) Strings in switch statements are not supported."); assertProblems(result, "(line 1,col 11) Strings in switch statements are not supported.");
} }


@Test @Test
Expand Down
Expand Up @@ -74,6 +74,7 @@ public enum ObservableProperty {
ITERABLE(Type.SINGLE_REFERENCE), ITERABLE(Type.SINGLE_REFERENCE),
KEYWORD(Type.SINGLE_ATTRIBUTE), KEYWORD(Type.SINGLE_ATTRIBUTE),
LABEL(Type.SINGLE_REFERENCE), LABEL(Type.SINGLE_REFERENCE),
LABELS(Type.MULTIPLE_REFERENCE),
LEFT(Type.SINGLE_REFERENCE), LEFT(Type.SINGLE_REFERENCE),
LEVELS(Type.MULTIPLE_REFERENCE), LEVELS(Type.MULTIPLE_REFERENCE),
MEMBERS(Type.MULTIPLE_REFERENCE), MEMBERS(Type.MULTIPLE_REFERENCE),
Expand Down
Expand Up @@ -32,11 +32,7 @@
import com.github.javaparser.ast.visitor.GenericVisitor; import com.github.javaparser.ast.visitor.GenericVisitor;
import com.github.javaparser.ast.visitor.VoidVisitor; import com.github.javaparser.ast.visitor.VoidVisitor;
import com.github.javaparser.metamodel.JavaParserMetaModel; import com.github.javaparser.metamodel.JavaParserMetaModel;
import com.github.javaparser.metamodel.OptionalProperty;
import com.github.javaparser.metamodel.SwitchEntryMetaModel; import com.github.javaparser.metamodel.SwitchEntryMetaModel;

import java.util.Optional;

import static com.github.javaparser.utils.Utils.assertNotNull; import static com.github.javaparser.utils.Utils.assertNotNull;


/** /**
Expand Down Expand Up @@ -80,29 +76,28 @@ public enum Type {
STATEMENT_GROUP, EXPRESSION, BLOCK, THROWS_STATEMENT STATEMENT_GROUP, EXPRESSION, BLOCK, THROWS_STATEMENT
} }


@OptionalProperty private NodeList<Expression> labels;
private Expression label;


private NodeList<Statement> statements; private NodeList<Statement> statements;


private Type type; private Type type;


public SwitchEntry() { public SwitchEntry() {
this(null, null, new NodeList<>()); this(null, new NodeList<Expression>(), Type.STATEMENT_GROUP, new NodeList<>());
} }


@AllFieldsConstructor @AllFieldsConstructor
public SwitchEntry(final Expression label, final Type type, final NodeList<Statement> statements) { public SwitchEntry(final NodeList<Expression> labels, final Type type, final NodeList<Statement> statements) {
this(null, label, type, statements); this(null, labels, type, statements);
} }


/** /**
* This constructor is used by the parser and is considered private. * This constructor is used by the parser and is considered private.
*/ */
@Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator") @Generated("com.github.javaparser.generator.core.node.MainConstructorGenerator")
public SwitchEntry(TokenRange tokenRange, Expression label, Type type, NodeList<Statement> statements) { public SwitchEntry(TokenRange tokenRange, NodeList<Expression> labels, Type type, NodeList<Statement> statements) {
super(tokenRange); super(tokenRange);
setLabel(label); setLabels(labels);
setType(type); setType(type);
setStatements(statements); setStatements(statements);
customInitialization(); customInitialization();
Expand All @@ -121,8 +116,8 @@ public <A> void accept(final VoidVisitor<A> v, final A arg) {
} }


@Generated("com.github.javaparser.generator.core.node.PropertyGenerator") @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
public Optional<Expression> getLabel() { public NodeList<Expression> getLabels() {
return Optional.ofNullable(label); return labels;
} }


@Generated("com.github.javaparser.generator.core.node.PropertyGenerator") @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
Expand All @@ -133,19 +128,20 @@ public NodeList<Statement> getStatements() {
/** /**
* Sets the label * Sets the label
* *
* @param label the label, can be null * @param labels the label, can be null
* @return this, the SwitchEntry * @return this, the SwitchEntry
*/ */
@Generated("com.github.javaparser.generator.core.node.PropertyGenerator") @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
public SwitchEntry setLabel(final Expression label) { public SwitchEntry setLabels(final NodeList<Expression> labels) {
if (label == this.label) { assertNotNull(labels);
if (labels == this.labels) {
return (SwitchEntry) this; return (SwitchEntry) this;
} }
notifyPropertyChange(ObservableProperty.LABEL, this.label, label); notifyPropertyChange(ObservableProperty.LABELS, this.labels, labels);
if (this.label != null) if (this.labels != null)
this.label.setParentNode(null); this.labels.setParentNode(null);
this.label = label; this.labels = labels;
setAsParentNodeOf(label); setAsParentNodeOf(labels);
return this; return this;
} }


Expand All @@ -168,9 +164,9 @@ public SwitchEntry setStatements(final NodeList<Statement> statements) {
public boolean remove(Node node) { public boolean remove(Node node) {
if (node == null) if (node == null)
return false; return false;
if (label != null) { for (int i = 0; i < labels.size(); i++) {
if (node == label) { if (labels.get(i) == node) {
removeLabel(); labels.remove(i);
return true; return true;
} }
} }
Expand All @@ -183,11 +179,6 @@ public boolean remove(Node node) {
return super.remove(node); return super.remove(node);
} }


@Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator")
public SwitchEntry removeLabel() {
return setLabel((Expression) null);
}

@Override @Override
@Generated("com.github.javaparser.generator.core.node.CloneGenerator") @Generated("com.github.javaparser.generator.core.node.CloneGenerator")
public SwitchEntry clone() { public SwitchEntry clone() {
Expand All @@ -200,26 +191,6 @@ public SwitchEntryMetaModel getMetaModel() {
return JavaParserMetaModel.switchEntryMetaModel; return JavaParserMetaModel.switchEntryMetaModel;
} }


@Override
@Generated("com.github.javaparser.generator.core.node.ReplaceMethodGenerator")
public boolean replace(Node node, Node replacementNode) {
if (node == null)
return false;
if (label != null) {
if (node == label) {
setLabel((Expression) replacementNode);
return true;
}
}
for (int i = 0; i < statements.size(); i++) {
if (statements.get(i) == node) {
statements.set(i, (Statement) replacementNode);
return true;
}
}
return super.replace(node, replacementNode);
}

@Generated("com.github.javaparser.generator.core.node.PropertyGenerator") @Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
public Type getType() { public Type getType() {
return type; return type;
Expand All @@ -235,4 +206,23 @@ public SwitchEntry setType(final Type type) {
this.type = type; this.type = type;
return this; return this;
} }

@Override
public boolean replace(Node node, Node replacementNode) {
if (node == null)
return false;
for (int i = 0; i < labels.size(); i++) {
if (labels.get(i) == node) {
labels.set(i, (Expression) replacementNode);
return true;
}
}
for (int i = 0; i < statements.size(); i++) {
if (statements.get(i) == node) {
statements.set(i, (Statement) replacementNode);
return true;
}
}
return super.replace(node, replacementNode);
}
} }
Expand Up @@ -80,8 +80,8 @@ public class Java1_0Validator extends Validators {
(n, reporter) -> reporter.report(n, "Static imports are not supported.") (n, reporter) -> reporter.report(n, "Static imports are not supported.")
); );
protected final Validator noStringsInSwitch = new SimpleValidator<>(SwitchEntry.class, protected final Validator noStringsInSwitch = new SimpleValidator<>(SwitchEntry.class,
n -> n.getLabel().map(l -> l instanceof StringLiteralExpr).orElse(false), n -> n.getLabels().stream().anyMatch(l -> l instanceof StringLiteralExpr),
(n, reporter) -> reporter.report(n.getLabel().get(), "Strings in switch statements are not supported.") (n, reporter) -> reporter.report(n.getLabels().getParentNode().get(), "Strings in switch statements are not supported.")
); );
protected final Validator noBinaryIntegerLiterals = new NoBinaryIntegerLiteralsValidator(); protected final Validator noBinaryIntegerLiterals = new NoBinaryIntegerLiteralsValidator();
protected final Validator noUnderscoresInIntegerLiterals = new NoUnderscoresInIntegerLiteralsValidator(); protected final Validator noUnderscoresInIntegerLiterals = new NoUnderscoresInIntegerLiteralsValidator();
Expand Down
Expand Up @@ -702,10 +702,10 @@ public Visitable visit(final SwitchStmt n, final Object arg) {


@Override @Override
public Visitable visit(final SwitchEntry n, final Object arg) { public Visitable visit(final SwitchEntry n, final Object arg) {
Expression label = cloneNode(n.getLabel(), arg); NodeList<Expression> labels = cloneList(n.getLabels(), arg);
NodeList<Statement> statements = cloneList(n.getStatements(), arg); NodeList<Statement> statements = cloneList(n.getStatements(), arg);
Comment comment = cloneNode(n.getComment(), arg); Comment comment = cloneNode(n.getComment(), arg);
SwitchEntry r = new SwitchEntry(n.getTokenRange().orElse(null), label, n.getType(), statements); SwitchEntry r = new SwitchEntry(n.getTokenRange().orElse(null), labels, n.getType(), statements);
r.setComment(comment); r.setComment(comment);
return r; return r;
} }
Expand Down
Expand Up @@ -974,7 +974,7 @@ public Boolean visit(final SwitchStmt n, final Visitable arg) {
@Override @Override
public Boolean visit(final SwitchEntry n, final Visitable arg) { public Boolean visit(final SwitchEntry n, final Visitable arg) {
final SwitchEntry n2 = (SwitchEntry) arg; final SwitchEntry n2 = (SwitchEntry) arg;
if (!nodeEquals(n.getLabel(), n2.getLabel())) if (!nodesEquals(n.getLabels(), n2.getLabels()))
return false; return false;
if (!nodesEquals(n.getStatements(), n2.getStatements())) if (!nodesEquals(n.getStatements(), n2.getStatements()))
return false; return false;
Expand Down
Expand Up @@ -1487,8 +1487,8 @@ public List<R> visit(final SuperExpr n, final A arg) {
public List<R> visit(final SwitchEntry n, final A arg) { public List<R> visit(final SwitchEntry n, final A arg) {
List<R> result = new ArrayList<>(); List<R> result = new ArrayList<>();
List<R> tmp; List<R> tmp;
if (n.getLabel().isPresent()) { {
tmp = n.getLabel().get().accept(this, arg); tmp = n.getLabels().accept(this, arg);
if (tmp != null) if (tmp != null)
result.addAll(tmp); result.addAll(tmp);
} }
Expand Down
Expand Up @@ -1408,8 +1408,8 @@ public R visit(final SuperExpr n, final A arg) {
@Override @Override
public R visit(final SwitchEntry n, final A arg) { public R visit(final SwitchEntry n, final A arg) {
R result; R result;
if (n.getLabel().isPresent()) { {
result = n.getLabel().get().accept(this, arg); result = n.getLabels().accept(this, arg);
if (result != null) if (result != null)
return result; return result;
} }
Expand Down
Expand Up @@ -319,7 +319,7 @@ public Integer visit(final SuperExpr n, final Void arg) {
} }


public Integer visit(final SwitchEntry 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.getType().hashCode()) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0); return (n.getLabels().accept(this, arg)) * 31 + (n.getStatements().accept(this, arg)) * 31 + (n.getType().hashCode()) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0);
} }


public Integer visit(final SwitchStmt n, final Void arg) { public Integer visit(final SwitchStmt n, final Void arg) {
Expand Down
Expand Up @@ -837,10 +837,10 @@ public Visitable visit(final SuperExpr n, final A arg) {


@Override @Override
public Visitable visit(final SwitchEntry 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<Expression> labels = modifyList(n.getLabels(), arg);
NodeList<Statement> statements = modifyList(n.getStatements(), arg); NodeList<Statement> statements = modifyList(n.getStatements(), arg);
Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null);
n.setLabel(label); n.setLabels(labels);
n.setStatements(statements); n.setStatements(statements);
n.setComment(comment); n.setComment(comment);
return n; return n;
Expand Down
Expand Up @@ -792,7 +792,7 @@ public Boolean visit(final SwitchStmt n, final Visitable arg) {
@Override @Override
public Boolean visit(final SwitchEntry n, final Visitable arg) { public Boolean visit(final SwitchEntry n, final Visitable arg) {
final SwitchEntry n2 = (SwitchEntry) arg; final SwitchEntry n2 = (SwitchEntry) arg;
if (!nodeEquals(n.getLabel(), n2.getLabel())) if (!nodesEquals(n.getLabels(), n2.getLabels()))
return false; return false;
if (!nodesEquals(n.getStatements(), n2.getStatements())) if (!nodesEquals(n.getStatements(), n2.getStatements()))
return false; return false;
Expand Down
Expand Up @@ -311,7 +311,7 @@ public Integer visit(final SuperExpr n, final Void arg) {
} }


public Integer visit(final SwitchEntry 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.getType().hashCode()); return (n.getLabels().accept(this, arg)) * 31 + (n.getStatements().accept(this, arg)) * 31 + (n.getType().hashCode());
} }


public Integer visit(final SwitchStmt n, final Void arg) { public Integer visit(final SwitchStmt n, final Void arg) {
Expand Down
Expand Up @@ -494,7 +494,7 @@ public void visit(final SuperExpr n, final A arg) {


@Override @Override
public void visit(final SwitchEntry n, final A arg) { public void visit(final SwitchEntry n, final A arg) {
n.getLabel().ifPresent(l -> l.accept(this, arg)); n.getLabels().forEach(p -> p.accept(this, arg));
n.getStatements().forEach(p -> p.accept(this, arg)); n.getStatements().forEach(p -> p.accept(this, arg));
n.getComment().ifPresent(l -> l.accept(this, arg)); n.getComment().ifPresent(l -> l.accept(this, arg));
} }
Expand Down
Expand Up @@ -202,7 +202,7 @@ private static void initializeConstructorParameters() {
labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.labelPropertyMetaModel); labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.labelPropertyMetaModel);
labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.statementPropertyMetaModel); labeledStmtMetaModel.getConstructorParameters().add(labeledStmtMetaModel.statementPropertyMetaModel);
returnStmtMetaModel.getConstructorParameters().add(returnStmtMetaModel.expressionPropertyMetaModel); returnStmtMetaModel.getConstructorParameters().add(returnStmtMetaModel.expressionPropertyMetaModel);
switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.labelPropertyMetaModel); switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.labelsPropertyMetaModel);
switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.typePropertyMetaModel); switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.typePropertyMetaModel);
switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.statementsPropertyMetaModel); switchEntryMetaModel.getConstructorParameters().add(switchEntryMetaModel.statementsPropertyMetaModel);
switchStmtMetaModel.getConstructorParameters().add(switchStmtMetaModel.selectorPropertyMetaModel); switchStmtMetaModel.getConstructorParameters().add(switchStmtMetaModel.selectorPropertyMetaModel);
Expand Down Expand Up @@ -683,8 +683,8 @@ private static void initializePropertyMetaModels() {
labeledStmtMetaModel.getDeclaredPropertyMetaModels().add(labeledStmtMetaModel.statementPropertyMetaModel); 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.expressionPropertyMetaModel = new PropertyMetaModel(returnStmtMetaModel, "expression", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false);
returnStmtMetaModel.getDeclaredPropertyMetaModels().add(returnStmtMetaModel.expressionPropertyMetaModel); returnStmtMetaModel.getDeclaredPropertyMetaModels().add(returnStmtMetaModel.expressionPropertyMetaModel);
switchEntryMetaModel.labelPropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "label", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false); switchEntryMetaModel.labelsPropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "labels", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, true, false);
switchEntryMetaModel.getDeclaredPropertyMetaModels().add(switchEntryMetaModel.labelPropertyMetaModel); switchEntryMetaModel.getDeclaredPropertyMetaModels().add(switchEntryMetaModel.labelsPropertyMetaModel);
switchEntryMetaModel.statementsPropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "statements", com.github.javaparser.ast.stmt.Statement.class, Optional.of(statementMetaModel), false, false, true, false); 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); switchEntryMetaModel.getDeclaredPropertyMetaModels().add(switchEntryMetaModel.statementsPropertyMetaModel);
switchEntryMetaModel.typePropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "type", com.github.javaparser.ast.stmt.SwitchEntry.Type.class, Optional.empty(), false, false, false, false); switchEntryMetaModel.typePropertyMetaModel = new PropertyMetaModel(switchEntryMetaModel, "type", com.github.javaparser.ast.stmt.SwitchEntry.Type.class, Optional.empty(), false, false, false, false);
Expand Down
Expand Up @@ -8,7 +8,7 @@ public class SwitchEntryMetaModel extends NodeMetaModel {
super(superBaseNodeMetaModel, com.github.javaparser.ast.stmt.SwitchEntry.class, "SwitchEntry", "com.github.javaparser.ast.stmt", false, false); super(superBaseNodeMetaModel, com.github.javaparser.ast.stmt.SwitchEntry.class, "SwitchEntry", "com.github.javaparser.ast.stmt", false, false);
} }


public PropertyMetaModel labelPropertyMetaModel; public PropertyMetaModel labelsPropertyMetaModel;


public PropertyMetaModel statementsPropertyMetaModel; public PropertyMetaModel statementsPropertyMetaModel;


Expand Down
Expand Up @@ -674,8 +674,8 @@ private static CsmElement typeArguments() {


concreteSyntaxModelByClass.put(SwitchEntry.class, sequence( concreteSyntaxModelByClass.put(SwitchEntry.class, sequence(
comment(), comment(),
conditional(ObservableProperty.LABEL, IS_PRESENT, conditional(ObservableProperty.LABELS, IS_NOT_EMPTY,
sequence(token(GeneratedJavaParserConstants.CASE), space(), child(ObservableProperty.LABEL), token(GeneratedJavaParserConstants.COLON)), sequence(token(GeneratedJavaParserConstants.CASE), space(), list(ObservableProperty.LABELS), token(GeneratedJavaParserConstants.COLON)),
sequence(token(GeneratedJavaParserConstants._DEFAULT), token(GeneratedJavaParserConstants.COLON))), sequence(token(GeneratedJavaParserConstants._DEFAULT), token(GeneratedJavaParserConstants.COLON))),
newline(), newline(),
indent(), indent(),
Expand Down

0 comments on commit 1082101

Please sign in to comment.