Skip to content

Commit 30ce079

Browse files
committed
regeneration of the meta-model and model
1 parent 36fb18b commit 30ce079

File tree

18 files changed

+98
-163
lines changed

18 files changed

+98
-163
lines changed

.run/CoreGenerator.run.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
nameIsGenerated="true">
44
<option name="MAIN_CLASS_NAME" value="com.github.javaparser.generator.core.CoreGenerator"/>
55
<module name="jmlparser-core-generators"/>
6-
<option name="PROGRAM_PARAMETERS" value="$ContentRoot$"/>
7-
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/javaparser-core-metamodel-generator"/>
6+
<option name="PROGRAM_PARAMETERS" value="$PROJECT_DIR$/stupid/"/>
7+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/"/>
88
<extension name="coverage">
99
<pattern>
1010
<option name="PATTERN" value="com.github.javaparser.generator.metamodel.*"/>

javaparser-core-generators/src/main/java/com/github/javaparser/generator/core/CoreGenerator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,13 +54,14 @@ public static void main(String[] args) throws Exception {
5454
throw new RuntimeException("Need 1 parameter: the JavaParser source checkout root directory.");
5555
}
5656
Log.setAdapter(new Log.StandardOutStandardErrorAdapter());
57-
final Path root = Paths.get(args[0], "..", "javaparser-core", "src", "main", "java");
57+
final var project = Paths.get(args[0]).getParent();
58+
final Path root = project.resolve(Paths.get("javaparser-core", "src", "main", "java"));
5859
final SourceRoot sourceRoot = new SourceRoot(root, parserConfiguration)
5960
// .setPrinter(LexicalPreservingPrinter::print)
6061
;
6162
StaticJavaParser.setConfiguration(parserConfiguration);
6263

63-
final Path generatedJavaCcRoot = Paths.get(args[0], "..", "javaparser-core", "target", "generated-sources", "javacc");
64+
final Path generatedJavaCcRoot = project.resolve(Paths.get("javaparser-core", "target", "generated-sources", "javacc"));
6465
final SourceRoot generatedJavaCcSourceRoot = new SourceRoot(generatedJavaCcRoot, parserConfiguration)
6566
// .setPrinter(LexicalPreservingPrinter::print)
6667
;

javaparser-core/src/main/java/com/github/javaparser/HasParentNode.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import java.util.Optional;
2424
import java.util.function.Predicate;
25-
2625
import com.github.javaparser.ast.Node;
2726
import com.github.javaparser.ast.observer.Observable;
2827

javaparser-core/src/main/java/com/github/javaparser/ast/body/MethodDeclaration.java

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,9 @@
4242
import com.github.javaparser.metamodel.OptionalProperty;
4343
import com.github.javaparser.resolution.Resolvable;
4444
import com.github.javaparser.resolution.declarations.ResolvedMethodDeclaration;
45-
4645
import java.util.Arrays;
4746
import java.util.Optional;
4847
import java.util.function.Consumer;
49-
5048
import static com.github.javaparser.ast.Modifier.DefaultKeyword.*;
5149
import static com.github.javaparser.utils.Utils.assertNotNull;
5250

@@ -266,10 +264,7 @@ public boolean isPublic() {
266264
}
267265

268266
private boolean isImplicitlyPublic() {
269-
return getAccessSpecifier() == AccessSpecifier.NONE
270-
&& hasParentNode()
271-
&& getParentNode().get() instanceof ClassOrInterfaceDeclaration
272-
&& ((ClassOrInterfaceDeclaration) getParentNode().get()).isInterface();
267+
return getAccessSpecifier() == AccessSpecifier.NONE && hasParentNode() && getParentNode().get() instanceof ClassOrInterfaceDeclaration && ((ClassOrInterfaceDeclaration) getParentNode().get()).isInterface();
273268
}
274269

275270
/*
@@ -282,13 +277,9 @@ public boolean isAbstract() {
282277
}
283278

284279
private boolean isImplicitlyAbstract() {
285-
return hasParentNode() && getParentNode().get() instanceof ClassOrInterfaceDeclaration
286-
&& ((ClassOrInterfaceDeclaration) getParentNode().get()).isInterface()
287-
&& Arrays.asList(STATIC, DEFAULT, PRIVATE).stream()
288-
.noneMatch(modifier -> hasModifier(modifier));
280+
return hasParentNode() && getParentNode().get() instanceof ClassOrInterfaceDeclaration && ((ClassOrInterfaceDeclaration) getParentNode().get()).isInterface() && Arrays.asList(STATIC, DEFAULT, PRIVATE).stream().noneMatch(modifier -> hasModifier(modifier));
289281
}
290282

291-
292283
public boolean isNative() {
293284
return hasModifier(Modifier.DefaultKeyword.NATIVE);
294285
}

javaparser-core/src/main/java/com/github/javaparser/ast/expr/LambdaExpr.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
package com.github.javaparser.ast.expr;
2222

2323
import static com.github.javaparser.utils.Utils.assertNotNull;
24-
2524
import java.util.Optional;
2625
import java.util.function.Consumer;
27-
2826
import com.github.javaparser.TokenRange;
2927
import com.github.javaparser.ast.AllFieldsConstructor;
3028
import com.github.javaparser.ast.Generated;
@@ -117,13 +115,11 @@ public LambdaExpr(TokenRange tokenRange, NodeList<Parameter> parameters, Stateme
117115
customInitialization();
118116
}
119117

120-
@Override
121118
@Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
122119
public NodeList<Parameter> getParameters() {
123120
return parameters;
124121
}
125122

126-
@Override
127123
@Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
128124
public LambdaExpr setParameters(final NodeList<Parameter> parameters) {
129125
assertNotNull(parameters);

javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithParameters.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ default boolean hasParametersOfType(String... paramTypes) {
161161
*/
162162
default boolean hasParametersOfType(Class<?>... paramTypes) {
163163
return // if p.getType() is a class or interface type, we want to consider its erasure, i.e., if the parameter
164-
getParameters().stream().// is "List<String>", we want to consider it as "List", so we need to call getName()
165-
map(p -> p.getType().toClassOrInterfaceType().map(NodeWithSimpleName::getNameAsString).orElseGet(() -> p.getType().asString())).collect(toList()).equals(Stream.of(paramTypes).map(Class::getSimpleName).collect(toList()));
164+
// is "List<String>", we want to consider it as "List", so we need to call getName()
165+
getParameters().stream().map(p -> p.getType().toClassOrInterfaceType().map(NodeWithSimpleName::getNameAsString).orElseGet(() -> p.getType().asString())).collect(toList()).equals(Stream.of(paramTypes).map(Class::getSimpleName).collect(toList()));
166166
}
167167
}

javaparser-core/src/main/java/com/github/javaparser/ast/validator/postprocessors/Java10PostProcessor.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import com.github.javaparser.ast.expr.ClassExpr;
2828
import com.github.javaparser.ast.type.ClassOrInterfaceType;
2929
import com.github.javaparser.ast.type.VarType;
30-
3130
import java.util.ArrayList;
3231
import java.util.Arrays;
3332
import java.util.List;
@@ -40,6 +39,7 @@ public class Java10PostProcessor extends PostProcessors {
4039
// List of parent contexts in which a var type must not be detected.
4140
// for example: in this statement var.class.getCanonicalName(), var must not be considered as a VarType
4241
private static List<Class> FORBIDEN_PARENT_CONTEXT_TO_DETECT_POTENTIAL_VAR_TYPE = new ArrayList<>();
42+
4343
static {
4444
FORBIDEN_PARENT_CONTEXT_TO_DETECT_POTENTIAL_VAR_TYPE.addAll(Arrays.asList(ClassExpr.class));
4545
}
@@ -49,23 +49,19 @@ public class Java10PostProcessor extends PostProcessors {
4949
@Override
5050
public void postProcess(ParseResult<? extends Node> result, ParserConfiguration configuration) {
5151
result.getResult().ifPresent(node -> {
52-
node.findAll(ClassOrInterfaceType.class)
53-
.forEach(n -> {
54-
if ("var".equals(n.getNameAsString())
55-
&& !matchForbiddenContext(n)) {
56-
n.replace(new VarType(n.getTokenRange().orElse(null)));
57-
}
52+
node.findAll(ClassOrInterfaceType.class).forEach(n -> {
53+
if ("var".equals(n.getNameAsString()) && !matchForbiddenContext(n)) {
54+
n.replace(new VarType(n.getTokenRange().orElse(null)));
55+
}
5856
});
5957
});
6058
}
6159

6260
private boolean matchForbiddenContext(ClassOrInterfaceType cit) {
63-
return cit.getParentNode().isPresent()
64-
&& FORBIDEN_PARENT_CONTEXT_TO_DETECT_POTENTIAL_VAR_TYPE.stream().anyMatch(cl -> cl.isInstance(cit.getParentNode().get()));
61+
return cit.getParentNode().isPresent() && FORBIDEN_PARENT_CONTEXT_TO_DETECT_POTENTIAL_VAR_TYPE.stream().anyMatch(cl -> cl.isInstance(cit.getParentNode().get()));
6562
}
6663
};
6764

68-
6965
public Java10PostProcessor() {
7066
add(varNodeCreator);
7167
}

javaparser-core/src/main/java/com/github/javaparser/ast/visitor/CloneVisitor.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
package com.github.javaparser.ast.visitor;
2222

2323
import java.util.Optional;
24-
2524
import com.github.javaparser.ast.*;
2625
import com.github.javaparser.ast.body.*;
2726
import com.github.javaparser.ast.comments.BlockComment;
@@ -41,6 +40,7 @@
4140
import com.github.javaparser.ast.modules.*;
4241
import com.github.javaparser.ast.stmt.*;
4342
import com.github.javaparser.ast.type.*;
43+
4444
/**
4545
* A visitor that clones (copies) a node and all its children.
4646
*/
@@ -268,6 +268,7 @@ public Visitable visit(final Parameter n, final Object arg) {
268268
@Override
269269
public Visitable visit(final InitializerDeclaration n, final Object arg) {
270270
BlockStmt body = cloneNode(n.getBody(), arg);
271+
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
271272
Comment comment = cloneNode(n.getComment(), arg);
272273
InitializerDeclaration r = new InitializerDeclaration(n.getTokenRange().orElse(null), n.isStatic(), body);
273274
r.setComment(comment);
@@ -338,6 +339,7 @@ public Visitable visit(final ArrayCreationLevel n, final Object arg) {
338339
@Override
339340
public Visitable visit(final IntersectionType n, final Object arg) {
340341
NodeList<ReferenceType> elements = cloneList(n.getElements(), arg);
342+
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
341343
Comment comment = cloneNode(n.getComment(), arg);
342344
IntersectionType r = new IntersectionType(n.getTokenRange().orElse(null), elements);
343345
r.setComment(comment);
@@ -349,6 +351,7 @@ public Visitable visit(final IntersectionType n, final Object arg) {
349351
@Override
350352
public Visitable visit(final UnionType n, final Object arg) {
351353
NodeList<ReferenceType> elements = cloneList(n.getElements(), arg);
354+
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
352355
Comment comment = cloneNode(n.getComment(), arg);
353356
UnionType r = new UnionType(n.getTokenRange().orElse(null), elements);
354357
r.setComment(comment);
@@ -359,6 +362,7 @@ public Visitable visit(final UnionType n, final Object arg) {
359362

360363
@Override
361364
public Visitable visit(final VoidType n, final Object arg) {
365+
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
362366
Comment comment = cloneNode(n.getComment(), arg);
363367
VoidType r = new VoidType(n.getTokenRange().orElse(null));
364368
r.setComment(comment);
@@ -382,6 +386,7 @@ public Visitable visit(final WildcardType n, final Object arg) {
382386

383387
@Override
384388
public Visitable visit(final UnknownType n, final Object arg) {
389+
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
385390
Comment comment = cloneNode(n.getComment(), arg);
386391
UnknownType r = new UnknownType(n.getTokenRange().orElse(null));
387392
r.setComment(comment);
@@ -1199,6 +1204,7 @@ public Visitable visit(final ReceiverParameter n, final Object arg) {
11991204

12001205
@Override
12011206
public Visitable visit(final VarType n, final Object arg) {
1207+
NodeList<AnnotationExpr> annotations = cloneList(n.getAnnotations(), arg);
12021208
Comment comment = cloneNode(n.getComment(), arg);
12031209
VarType r = new VarType(n.getTokenRange().orElse(null));
12041210
r.setComment(comment);

javaparser-core/src/main/java/com/github/javaparser/jml/JmlProcessor.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,7 @@ public JmlDocDeclaration visit(JmlDocDeclaration n, Void arg) {
144144
setJmlTags(t);
145145
TypeDeclaration<?> parent = (TypeDeclaration<?>) n.getParentNode().get();
146146
NodeList<BodyDeclaration<?>> members = parent.getMembers();
147-
int pos = IntStream.range(0, members.size())
148-
.filter(i -> members.get(i) == n)
149-
.findFirst().orElse(-1);
147+
int pos = IntStream.range(0, members.size()).filter(i -> members.get(i) == n).findFirst().orElse(-1);
150148
assert pos >= 0;
151149
if (pos + 1 >= members.size()) {
152150
//JML Documentation is last element, therefore it can only refer to upper element.

javaparser-core/src/main/java/com/github/javaparser/printer/ConcreteSyntaxModel.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,10 @@ private static CsmElement typeArguments() {
103103
// FIXME: we should introduce a derived property
104104
// FIXME: we should introduce a derived property
105105
// FIXME: we should introduce a derived property
106+
// FIXME: we should introduce a derived property
106107
concreteSyntaxModelByClass.// FIXME: we should introduce a derived property
107-
put(// FIXME: we should introduce a derived property
108-
VariableDeclarator.class, // list(ObservableProperty.EXTRA_ARRAY_LEVELS),
109-
sequence(comment(), child(ObservableProperty.NAME), conditional(ObservableProperty.INITIALIZER, IS_PRESENT, sequence(space(), token(GeneratedJavaParserConstants.ASSIGN), space(), child(ObservableProperty.INITIALIZER)))));
108+
put(// list(ObservableProperty.EXTRA_ARRAY_LEVELS),
109+
VariableDeclarator.class, sequence(comment(), child(ObservableProperty.NAME), conditional(ObservableProperty.INITIALIZER, IS_PRESENT, sequence(space(), token(GeneratedJavaParserConstants.ASSIGN), space(), child(ObservableProperty.INITIALIZER)))));
110110
// /
111111
// / Expressions
112112
// /
@@ -211,12 +211,12 @@ private static CsmElement typeArguments() {
211211
concreteSyntaxModelByClass.put(JmlMultiExprClause.class, sequence(child(ObservableProperty.KIND), child(HEAPS), space(), child(EXPRESSION), semicolon(), newline()));
212212
concreteSyntaxModelByClass.put(JmlClauseLabel.class, sequence(child(ObservableProperty.KIND), token(LPAREN), child(LABEL), token(RPAREN), space(), child(EXPRESSION), semicolon(), newline()));
213213
//space(),
214+
//space(),
214215
concreteSyntaxModelByClass.//space(),
215216
put(//space(),
216217
JmlCallableClause.class, //space(),
217-
sequence(//space(),
218-
child(MODIFIERS), //child(EXPRESSION),
219-
token(CALLABLE), semicolon()));
218+
sequence(//child(EXPRESSION),
219+
child(MODIFIERS), token(CALLABLE), semicolon()));
220220
concreteSyntaxModelByClass.put(JmlClassExprDeclaration.class, sequence(child(MODIFIERS), attribute(KIND), space(), attribute(NAME), token(COLON), child(EXPRESSION), semicolon()));
221221
concreteSyntaxModelByClass.put(JmlBodyDeclaration.class, sequence());
222222
concreteSyntaxModelByClass.put(JmlClassAccessibleDeclaration.class, sequence());

0 commit comments

Comments
 (0)