diff options
author | Danny van Bruggen <lol@meuk.info> | 2018-02-21 22:30:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-02-21 22:30:26 +0100 |
commit | 2fcd4bd78530daf40d0a31e1f0d6db91100bbd5e (patch) | |
tree | 80da1ffaed7dbd89c6a9c65733bd4f92d9117415 /javaparser-core | |
parent | 05a81d38272ac2850ea7826d77f5b904f61a3709 (diff) | |
parent | a0e33f98f1d908395f3da88bac3b0a2bf8650a98 (diff) | |
download | javaparser-2fcd4bd78530daf40d0a31e1f0d6db91100bbd5e.tar.gz |
Merge branch 'master' into issue_1427_hidden_dirs
Diffstat (limited to 'javaparser-core')
4 files changed, 38 insertions, 41 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ParserConfiguration.java b/javaparser-core/src/main/java/com/github/javaparser/ParserConfiguration.java index deb8d4cdc..41d981016 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ParserConfiguration.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ParserConfiguration.java @@ -33,6 +33,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Optional; +import static com.github.javaparser.ParserConfiguration.LanguageLevel.*; import static com.github.javaparser.utils.Utils.assertNotNull; /** @@ -42,19 +43,38 @@ import static com.github.javaparser.utils.Utils.assertNotNull; */ public class ParserConfiguration { public enum LanguageLevel { + /** Does no post processing or validation. Only for people wanting the fastest parsing. */ RAW(null, null), + /** The most used Java version. */ + POPULAR(new Java8Validator(), null), + /** The latest Java version that is available. */ + CURRENT(new Java8Validator(), null), + /** The newest Java features supported. */ + BLEEDING_EDGE(new Java11Validator(), new Java11PostProcessor()), + /** Java 1.0 */ JAVA_1_0(new Java1_0Validator(), null), + /** Java 1.1 */ JAVA_1_1(new Java1_1Validator(), null), + /** Java 1.2 */ JAVA_1_2(new Java1_2Validator(), null), + /** Java 1.3 */ JAVA_1_3(new Java1_3Validator(), null), + /** Java 1.4 */ JAVA_1_4(new Java1_4Validator(), null), + /** Java 5 */ JAVA_5(new Java5Validator(), null), + /** Java 6 */ JAVA_6(new Java6Validator(), null), + /** Java 7 */ JAVA_7(new Java7Validator(), null), + /** Java 8 */ JAVA_8(new Java8Validator(), null), + /** Java 9 */ JAVA_9(new Java9Validator(), null), - JAVA_10_PREVIEW(null, new Java10PostProcessor()), - JAVA_11_PREVIEW(null, new Java11PostProcessor()); + /** Java 10 (work in progress) */ + JAVA_10_PREVIEW(new Java10Validator(), new Java10PostProcessor()), + /** Java 11 (work in progress) */ + JAVA_11_PREVIEW(new Java11Validator(), new Java11PostProcessor()); final Validator validator; final ParseResult.PostProcessor postProcessor; @@ -72,7 +92,7 @@ public class ParserConfiguration { private boolean lexicalPreservationEnabled = false; private SymbolResolver symbolResolver = null; private int tabSize = 1; - private LanguageLevel languageLevel; + private LanguageLevel languageLevel = CURRENT; private final List<ParseResult.PostProcessor> postProcessors = new ArrayList<>(); @@ -107,7 +127,6 @@ public class ParserConfiguration { } }) )); - setLanguageLevel(LanguageLevel.JAVA_8); } public boolean isAttributeComments() { @@ -181,29 +200,29 @@ public class ParserConfiguration { public ParserConfiguration setValidator(Validator validator) { // This whole method is a backwards compatability hack. if (validator instanceof Java10Validator) { - setLanguageLevel(LanguageLevel.JAVA_10_PREVIEW); + setLanguageLevel(JAVA_10_PREVIEW); } else if (validator instanceof Java9Validator) { - setLanguageLevel(LanguageLevel.JAVA_9); + setLanguageLevel(JAVA_9); } else if (validator instanceof Java8Validator) { - setLanguageLevel(LanguageLevel.JAVA_8); + setLanguageLevel(JAVA_8); } else if (validator instanceof Java7Validator) { - setLanguageLevel(LanguageLevel.JAVA_7); + setLanguageLevel(JAVA_7); } else if (validator instanceof Java6Validator) { - setLanguageLevel(LanguageLevel.JAVA_6); + setLanguageLevel(JAVA_6); } else if (validator instanceof Java5Validator) { - setLanguageLevel(LanguageLevel.JAVA_5); + setLanguageLevel(JAVA_5); } else if (validator instanceof Java1_4Validator) { - setLanguageLevel(LanguageLevel.JAVA_1_4); + setLanguageLevel(JAVA_1_4); } else if (validator instanceof Java1_3Validator) { - setLanguageLevel(LanguageLevel.JAVA_1_3); + setLanguageLevel(JAVA_1_3); } else if (validator instanceof Java1_2Validator) { - setLanguageLevel(LanguageLevel.JAVA_1_2); + setLanguageLevel(JAVA_1_2); } else if (validator instanceof Java1_1Validator) { - setLanguageLevel(LanguageLevel.JAVA_1_1); + setLanguageLevel(JAVA_1_1); } else if (validator instanceof Java1_0Validator) { - setLanguageLevel(LanguageLevel.JAVA_1_0); + setLanguageLevel(JAVA_1_0); } else if (validator instanceof NoProblemsValidator) { - setLanguageLevel(LanguageLevel.RAW); + setLanguageLevel(RAW); } return this; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java index 3658d14f9..ab1dad9cb 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/body/ConstructorDeclaration.java @@ -55,7 +55,7 @@ import java.util.Optional; * * @author Julio Vilmar Gesser */ -public final class ConstructorDeclaration extends CallableDeclaration<ConstructorDeclaration> implements NodeWithBlockStmt<ConstructorDeclaration>, NodeWithAccessModifiers<ConstructorDeclaration>, NodeWithJavadoc<ConstructorDeclaration>, NodeWithDeclaration, NodeWithSimpleName<ConstructorDeclaration>, NodeWithParameters<ConstructorDeclaration>, NodeWithThrownExceptions<ConstructorDeclaration>, NodeWithTypeParameters<ConstructorDeclaration>, Resolvable<ResolvedConstructorDeclaration> { +public final class ConstructorDeclaration extends CallableDeclaration<ConstructorDeclaration> implements NodeWithBlockStmt<ConstructorDeclaration>, NodeWithAccessModifiers<ConstructorDeclaration>, NodeWithJavadoc<ConstructorDeclaration>, NodeWithSimpleName<ConstructorDeclaration>, NodeWithParameters<ConstructorDeclaration>, NodeWithThrownExceptions<ConstructorDeclaration>, NodeWithTypeParameters<ConstructorDeclaration>, Resolvable<ResolvedConstructorDeclaration> { private BlockStmt body; diff --git a/javaparser-core/src/main/java/com/github/javaparser/version/Java10PostProcessor.java b/javaparser-core/src/main/java/com/github/javaparser/version/Java10PostProcessor.java index 01251712e..7130870e7 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/version/Java10PostProcessor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/version/Java10PostProcessor.java @@ -1,23 +1,15 @@ package com.github.javaparser.version; -import com.github.javaparser.ParseResult; -import com.github.javaparser.ParserConfiguration; -import com.github.javaparser.ast.Node; import com.github.javaparser.ast.type.ClassOrInterfaceType; import com.github.javaparser.ast.type.VarType; -import com.github.javaparser.ast.validator.Java10Validator; -import com.github.javaparser.ast.validator.ProblemReporter; -import static com.github.javaparser.ParseResult.*; +import static com.github.javaparser.ParseResult.PostProcessor; /** * Processes the generic AST into a Java 10 AST and validates it. */ public class Java10PostProcessor extends PostProcessors { - protected final PostProcessor java10Validator = new Java10Validator().postProcessor(); - protected final PostProcessor varNodeCreator = new PostProcessor() { - @Override - public void process(ParseResult<? extends Node> result, ParserConfiguration configuration) { + protected final PostProcessor varNodeCreator = (result, configuration) -> result.getResult().ifPresent(node -> { node.findAll(ClassOrInterfaceType.class).forEach(n -> { if (n.getNameAsString().equals("var")) { @@ -25,11 +17,8 @@ public class Java10PostProcessor extends PostProcessors { } }); }); - } - }; public Java10PostProcessor() { add(varNodeCreator); - add(java10Validator); } } diff --git a/javaparser-core/src/main/java/com/github/javaparser/version/Java11PostProcessor.java b/javaparser-core/src/main/java/com/github/javaparser/version/Java11PostProcessor.java index 5d36efc05..004967edd 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/version/Java11PostProcessor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/version/Java11PostProcessor.java @@ -1,18 +1,7 @@ package com.github.javaparser.version; -import com.github.javaparser.ParseResult; -import com.github.javaparser.ParserConfiguration; -import com.github.javaparser.ast.Node; -import com.github.javaparser.ast.validator.Java11Validator; -import com.github.javaparser.ast.validator.ProblemReporter; - /** * Processes the generic AST into a Java 10 AST and validates it. */ public class Java11PostProcessor extends Java10PostProcessor { - protected final ParseResult.PostProcessor java11Validator = new Java11Validator().postProcessor(); - - public Java11PostProcessor() { - replace(java10Validator, java11Validator); - } } |