aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/expr/VariableDeclarationExpr.java
diff options
context:
space:
mode:
Diffstat (limited to 'javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/expr/VariableDeclarationExpr.java')
-rw-r--r--javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/expr/VariableDeclarationExpr.java200
1 files changed, 200 insertions, 0 deletions
diff --git a/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/expr/VariableDeclarationExpr.java b/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/expr/VariableDeclarationExpr.java
new file mode 100644
index 000000000..5bb0f6299
--- /dev/null
+++ b/javaparser-symbol-solver-testing/src/test/test_sourcecode/javaparser_new_src/javaparser-core/com/github/javaparser/ast/expr/VariableDeclarationExpr.java
@@ -0,0 +1,200 @@
+/*
+ * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser.
+ * Copyright (C) 2011, 2013-2016 The JavaParser Team.
+ *
+ * This file is part of JavaParser.
+ *
+ * JavaParser can be used either under the terms of
+ * a) the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * b) the terms of the Apache License
+ *
+ * You should have received a copy of both licenses in LICENCE.LGPL and
+ * LICENCE.APACHE. Please refer to those files for details.
+ *
+ * JavaParser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+
+package com.github.javaparser.ast.expr;
+
+import static com.github.javaparser.utils.Utils.ensureNotNull;
+import static java.util.Collections.*;
+
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.stream.Collectors;
+
+import com.github.javaparser.Range;
+import com.github.javaparser.ast.ArrayBracketPair;
+import com.github.javaparser.ast.Modifier;
+import com.github.javaparser.ast.body.VariableDeclarator;
+import com.github.javaparser.ast.nodeTypes.NodeWithAnnotations;
+import com.github.javaparser.ast.nodeTypes.NodeWithElementType;
+import com.github.javaparser.ast.nodeTypes.NodeWithModifiers;
+import com.github.javaparser.ast.nodeTypes.NodeWithVariables;
+import com.github.javaparser.ast.type.Type;
+import com.github.javaparser.ast.visitor.GenericVisitor;
+import com.github.javaparser.ast.visitor.VoidVisitor;
+
+/**
+ * @author Julio Vilmar Gesser
+ */
+public final class VariableDeclarationExpr extends Expression implements
+ NodeWithElementType<VariableDeclarationExpr>,
+ NodeWithModifiers<VariableDeclarationExpr>,
+ NodeWithAnnotations<VariableDeclarationExpr>,
+ NodeWithVariables<VariableDeclarationExpr> {
+
+ private EnumSet<Modifier> modifiers = EnumSet.noneOf(Modifier.class);
+
+ private List<AnnotationExpr> annotations;
+
+ private Type elementType;
+
+ private List<VariableDeclarator> variables;
+
+ private List<ArrayBracketPair> arrayBracketPairsAfterType;
+
+ public VariableDeclarationExpr() {
+ }
+
+ public VariableDeclarationExpr(final Type elementType, String variableName) {
+ setElementType(elementType);
+ setVariables(singletonList(new VariableDeclarator(variableName)));
+ }
+
+ public VariableDeclarationExpr(final Type elementType, VariableDeclarator var) {
+ setElementType(elementType);
+ setVariables(singletonList(var));
+ }
+
+ public VariableDeclarationExpr(final Type elementType, String variableName, Modifier... modifiers) {
+ setElementType(elementType);
+ setVariables(singletonList(new VariableDeclarator(variableName)));
+ setModifiers(Arrays.stream(modifiers)
+ .collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))));
+ }
+
+ public VariableDeclarationExpr(final Type elementType, VariableDeclarator var, Modifier... modifiers) {
+ setElementType(elementType);
+ setVariables(singletonList(var));
+ setModifiers(Arrays.stream(modifiers)
+ .collect(Collectors.toCollection(() -> EnumSet.noneOf(Modifier.class))));
+ }
+
+ public VariableDeclarationExpr(final Type elementType, final List<VariableDeclarator> variables) {
+ setElementType(elementType);
+ setVariables(variables);
+ }
+
+ public VariableDeclarationExpr(final EnumSet<Modifier> modifiers, final Type elementType,
+ final List<VariableDeclarator> variables) {
+ setModifiers(modifiers);
+ setElementType(elementType);
+ setVariables(variables);
+ }
+
+ public VariableDeclarationExpr(final Range range,
+ final EnumSet<Modifier> modifiers, final List<AnnotationExpr> annotations,
+ final Type elementType,
+ final List<VariableDeclarator> variables,
+ final List<ArrayBracketPair> arrayBracketPairsAfterType) {
+ super(range);
+ setModifiers(modifiers);
+ setAnnotations(annotations);
+ setElementType(elementType);
+ setVariables(variables);
+ setArrayBracketPairsAfterElementType(arrayBracketPairsAfterType);
+ }
+
+ /**
+ * Creates a {@link VariableDeclarationExpr}.
+ *
+ * @return instance of {@link VariableDeclarationExpr}
+ */
+ public static VariableDeclarationExpr create(Type type, String name) {
+ return new VariableDeclarationExpr(type, name);
+ }
+
+ @Override
+ public <R, A> R accept(final GenericVisitor<R, A> v, final A arg) {
+ return v.visit(this, arg);
+ }
+
+ @Override
+ public <A> void accept(final VoidVisitor<A> v, final A arg) {
+ v.visit(this, arg);
+ }
+
+ @Override
+ public List<AnnotationExpr> getAnnotations() {
+ annotations = ensureNotNull(annotations);
+ return annotations;
+ }
+
+ /**
+ * Return the modifiers of this variable declaration.
+ *
+ * @see Modifier
+ * @return modifiers
+ */
+ @Override
+ public EnumSet<Modifier> getModifiers() {
+ return modifiers;
+ }
+
+ @Override
+ public Type getElementType() {
+ return elementType;
+ }
+
+ @Override
+ public List<VariableDeclarator> getVariables() {
+ variables = ensureNotNull(variables);
+ return variables;
+ }
+
+ @Override
+ public VariableDeclarationExpr setAnnotations(final List<AnnotationExpr> annotations) {
+ this.annotations = annotations;
+ setAsParentNodeOf(this.annotations);
+ return this;
+ }
+
+ @Override
+ public VariableDeclarationExpr setModifiers(final EnumSet<Modifier> modifiers) {
+ this.modifiers = modifiers;
+ return this;
+ }
+
+ @Override
+ public VariableDeclarationExpr setElementType(final Type elementType) {
+ this.elementType = elementType;
+ setAsParentNodeOf(this.elementType);
+ return this;
+ }
+
+ @Override
+ public VariableDeclarationExpr setVariables(final List<VariableDeclarator> variables) {
+ this.variables = variables;
+ setAsParentNodeOf(this.variables);
+ return this;
+ }
+
+ public List<ArrayBracketPair> getArrayBracketPairsAfterElementType() {
+ arrayBracketPairsAfterType = ensureNotNull(arrayBracketPairsAfterType);
+ return arrayBracketPairsAfterType;
+ }
+
+ @Override
+ public VariableDeclarationExpr setArrayBracketPairsAfterElementType(List<ArrayBracketPair> arrayBracketPairsAfterType) {
+ this.arrayBracketPairsAfterType = arrayBracketPairsAfterType;
+ setAsParentNodeOf(arrayBracketPairsAfterType);
+ return this;
+ }
+}