diff options
Diffstat (limited to 'javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/type/UnionType.java')
-rw-r--r-- | javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/type/UnionType.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/type/UnionType.java b/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/type/UnionType.java new file mode 100644 index 000000000..74894af0f --- /dev/null +++ b/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/type/UnionType.java @@ -0,0 +1,52 @@ +package com.github.javaparser.ast.type; + +import com.github.javaparser.Range; +import com.github.javaparser.ast.nodeTypes.NodeWithAnnotations; +import com.github.javaparser.ast.visitor.GenericVisitor; +import com.github.javaparser.ast.visitor.VoidVisitor; + +import java.util.List; + +/** + * Represents a set of types. A given value of this type has to be assignable to at least one of the element types. + * As of Java 8 it is only used in catch clauses. + */ +public class UnionType extends Type<UnionType> implements NodeWithAnnotations<UnionType> { + + private List<ReferenceType> elements; + + public UnionType(Range range, List<ReferenceType> elements) { + super(range); + setElements(elements); + } + + public UnionType(List<ReferenceType> elements) { + super(); + setElements(elements); + } + + public List<ReferenceType> getElements() { + return elements; + } + + public UnionType setElements(List<ReferenceType> elements) { + if (this.elements != null) { + for (ReferenceType element : elements){ + element.setParentNode(null); + } + } + this.elements = elements; + setAsParentNodeOf(this.elements); + return this; + } + + @Override + public <R, A> R accept(GenericVisitor<R, A> v, A arg) { + return v.visit(this, arg); + } + + @Override + public <A> void accept(VoidVisitor<A> v, A arg) { + v.visit(this, arg); + } +} |