aboutsummaryrefslogtreecommitdiff
path: root/javaparser-core/src/main
diff options
context:
space:
mode:
authorFederico Tomassetti <federico@tomassetti.me>2017-09-28 20:57:00 +0200
committerFederico Tomassetti <federico@tomassetti.me>2017-09-28 20:57:00 +0200
commitc473cd98ff99e95b8a83910f0b91f018ddf74647 (patch)
tree6f16c92bfc3e1c4cec3b6fc9a172810446221792 /javaparser-core/src/main
parentfb149b0da883dcc032e9313e16572fc97b7be134 (diff)
parentb6d023198354d6f758d175a0f99dc55e676fe6bf (diff)
downloadjavaparser-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.java6
-rw-r--r--javaparser-core/src/main/java/com/github/javaparser/ast/validator/Java7Validator.java12
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);
}
}