diff options
author | Federico Tomassetti <federico@tomassetti.me> | 2017-09-28 20:57:00 +0200 |
---|---|---|
committer | Federico Tomassetti <federico@tomassetti.me> | 2017-09-28 20:57:00 +0200 |
commit | c473cd98ff99e95b8a83910f0b91f018ddf74647 (patch) | |
tree | 6f16c92bfc3e1c4cec3b6fc9a172810446221792 /javaparser-core/src/main | |
parent | fb149b0da883dcc032e9313e16572fc97b7be134 (diff) | |
parent | b6d023198354d6f758d175a0f99dc55e676fe6bf (diff) | |
download | javaparser-c473cd98ff99e95b8a83910f0b91f018ddf74647.tar.gz |
Merge remote-tracking branch 'upstream' into issue1154
Diffstat (limited to 'javaparser-core/src/main')
-rw-r--r-- | javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java | 6 | ||||
-rw-r--r-- | javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java7Validator.java | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java b/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java index 5d041dd0d..c60d2c443 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/type/UnionType.java @@ -46,10 +46,10 @@ import java.util.function.Consumer; /** * <h1>The union type</h1> * Represents a set of types. A given value of this type has to be assignable to at least one of the element types. - * <h2>Java 1-7</h2> + * <h2>Java 1-6</h2> * Does not exist. - * <h2>Java 8+</h2> - * As of Java 8 it is used in catch clauses. + * <h2>Java 7+</h2> + * As of Java 7 it is used in catch clauses. * <pre><code> * try { * ... diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java7Validator.java b/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java7Validator.java index 3281497cc..995e83620 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java7Validator.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java7Validator.java @@ -1,8 +1,8 @@ package com.github.javaparser.ast.validator; import com.github.javaparser.ast.expr.Expression; -import com.github.javaparser.ast.expr.VariableDeclarationExpr; import com.github.javaparser.ast.stmt.TryStmt; +import com.github.javaparser.ast.type.UnionType; /** * This validator validates according to Java 7 syntax rules. @@ -15,11 +15,17 @@ public class Java7Validator extends Java6Validator { reporter.report(n, "Try has no finally, no catch, and no resources."); } for (Expression resource : n.getResources()) { - if (!(resource instanceof VariableDeclarationExpr)) { + if (!resource.isVariableDeclarationExpr()) { reporter.report(n, "Try with resources only supports variable declarations."); } } }); + protected final SingleNodeTypeValidator<UnionType> multiCatch = new SingleNodeTypeValidator<>(UnionType.class, (n, reporter) -> { + // Case "0 elements" is caught elsewhere. + if (n.getElements().size() == 1) { + reporter.report(n, "Union type (multi catch) must have at least two elements."); + } + }); public Java7Validator() { super(); @@ -28,6 +34,6 @@ public class Java7Validator extends Java6Validator { remove(noStringsInSwitch); remove(noBinaryIntegerLiterals); remove(noUnderscoresInIntegerLiterals); - remove(noMultiCatch); + replace(noMultiCatch, multiCatch); } } |