diff options
9 files changed, 27 insertions, 50 deletions
diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java index 50ff830a9..389430ffa 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/expr/FieldAccessExpr.java @@ -23,7 +23,6 @@ package com.github.javaparser.ast.expr; import com.github.javaparser.Range; import com.github.javaparser.ast.AllFieldsConstructor; import com.github.javaparser.ast.NodeList; -import com.github.javaparser.ast.nodeTypes.NodeWithOptionalScope; import com.github.javaparser.ast.nodeTypes.NodeWithSimpleName; import com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments; import com.github.javaparser.ast.observer.ObservableProperty; @@ -46,7 +45,7 @@ import javax.annotation.Generated; * * @author Julio Vilmar Gesser */ -public final class FieldAccessExpr extends Expression implements NodeWithSimpleName<FieldAccessExpr>, NodeWithTypeArguments<FieldAccessExpr>, NodeWithOptionalScope<FieldAccessExpr> { +public final class FieldAccessExpr extends Expression implements NodeWithSimpleName<FieldAccessExpr>, NodeWithTypeArguments<FieldAccessExpr> { private Expression scope; @@ -115,8 +114,8 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN } @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") - public Optional<Expression> getScope() { - return Optional.ofNullable(scope); + public Expression getScope() { + return scope; } /** @@ -144,6 +143,7 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN */ @Generated("com.github.javaparser.generator.core.node.PropertyGenerator") public FieldAccessExpr setScope(final Expression scope) { + assertNotNull(scope); if (scope == this.scope) { return (FieldAccessExpr) this; } @@ -186,16 +186,22 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN } @Override + @Generated("com.github.javaparser.generator.core.node.CloneGenerator") + public FieldAccessExpr clone() { + return (FieldAccessExpr) accept(new CloneVisitor(), null); + } + + @Override + @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator") + public FieldAccessExprMetaModel getMetaModel() { + return JavaParserMetaModel.fieldAccessExprMetaModel; + } + + @Override @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator") public boolean remove(Node node) { if (node == null) return false; - if (scope != null) { - if (node == scope) { - removeScope(); - return true; - } - } if (typeArguments != null) { for (int i = 0; i < typeArguments.size(); i++) { if (typeArguments.get(i) == node) { @@ -206,21 +212,4 @@ public final class FieldAccessExpr extends Expression implements NodeWithSimpleN } return super.remove(node); } - - @Generated("com.github.javaparser.generator.core.node.RemoveMethodGenerator") - public FieldAccessExpr removeScope() { - return setScope((Expression) null); - } - - @Override - @Generated("com.github.javaparser.generator.core.node.CloneGenerator") - public FieldAccessExpr clone() { - return (FieldAccessExpr) accept(new CloneVisitor(), null); - } - - @Override - @Generated("com.github.javaparser.generator.core.node.GetMetaModelGenerator") - public FieldAccessExprMetaModel getMetaModel() { - return JavaParserMetaModel.fieldAccessExprMetaModel; - } } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalScope.java b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalScope.java index d7dd88033..b21c07061 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalScope.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/nodeTypes/NodeWithOptionalScope.java @@ -27,22 +27,11 @@ import com.github.javaparser.ast.expr.Expression; import java.util.Optional; /** - * Represents a node which can have a scope expression eg. method calls or - * field accesses (object.method(), object.field). + * Represents a node which can have a scope expression eg. method calls (object.method()). */ public interface NodeWithOptionalScope<N extends Node> { Optional<Expression> getScope(); N setScope(Expression scope); - - /** - * Removes the scope by calling {@link #setScope} with null. - * - * @return this node - */ - default N removeScope() { - return setScope(null); - } - } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java index 35cec3d0f..edb74532f 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericListVisitorAdapter.java @@ -881,8 +881,8 @@ public abstract class GenericListVisitorAdapter<R, A> implements GenericVisitor< if (tmp != null) result.addAll(tmp); } - if (n.getScope().isPresent()) { - tmp = n.getScope().get().accept(this, arg); + { + tmp = n.getScope().accept(this, arg); if (tmp != null) result.addAll(tmp); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java index 69f8559ce..6bbdef630 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/GenericVisitorAdapter.java @@ -744,8 +744,8 @@ public abstract class GenericVisitorAdapter<R, A> implements GenericVisitor<R, A if (result != null) return result; } - if (n.getScope().isPresent()) { - result = n.getScope().get().accept(this, arg); + { + result = n.getScope().accept(this, arg); if (result != null) return result; } diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java index f6ca4bd2b..39682d8a5 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/HashCodeVisitor.java @@ -214,7 +214,7 @@ public class HashCodeVisitor implements GenericVisitor<Integer, Void> { @Generated("com.github.javaparser.generator.core.visitor.HashCodeVisitorGenerator") public Integer visit(FieldAccessExpr n, Void arg) { - return (n.getName().accept(this, arg)) * 31 + (n.getScope().isPresent() ? n.getScope().get().accept(this, arg) : 0) * 31 + (n.getTypeArguments().isPresent() ? n.getTypeArguments().get().accept(this, arg) : 0) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0); + return (n.getName().accept(this, arg)) * 31 + (n.getScope().accept(this, arg)) * 31 + (n.getTypeArguments().isPresent() ? n.getTypeArguments().get().accept(this, arg) : 0) * 31 + (n.getComment().isPresent() ? n.getComment().get().accept(this, arg) : 0); } @Generated("com.github.javaparser.generator.core.visitor.HashCodeVisitorGenerator") diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java index 0e835f2d6..bb539e279 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/ModifierVisitor.java @@ -462,10 +462,10 @@ public class ModifierVisitor<A> implements GenericVisitor<Visitable, A> { @Generated("com.github.javaparser.generator.core.visitor.ModifierVisitorGenerator") public Visitable visit(final FieldAccessExpr n, final A arg) { SimpleName name = (SimpleName) n.getName().accept(this, arg); - Expression scope = n.getScope().map(s -> (Expression) s.accept(this, arg)).orElse(null); + Expression scope = (Expression) n.getScope().accept(this, arg); NodeList<Type> typeArguments = modifyList(n.getTypeArguments(), arg); Comment comment = n.getComment().map(s -> (Comment) s.accept(this, arg)).orElse(null); - if (name == null) + if (name == null || scope == null) return null; n.setName(name); n.setScope(scope); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java index d50a69dd5..24669bc25 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/visitor/VoidVisitorAdapter.java @@ -294,7 +294,7 @@ public abstract class VoidVisitorAdapter<A> implements VoidVisitor<A> { @Generated("com.github.javaparser.generator.core.visitor.VoidVisitorAdapterGenerator") public void visit(final FieldAccessExpr n, final A arg) { n.getName().accept(this, arg); - n.getScope().ifPresent(l -> l.accept(this, arg)); + n.getScope().accept(this, arg); n.getTypeArguments().ifPresent(l -> l.forEach(v -> v.accept(this, arg))); n.getComment().ifPresent(l -> l.accept(this, arg)); } diff --git a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java index 228ebc8e4..8eefde385 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java +++ b/javaparser-core/src/main/java/com/github/javaparser/metamodel/JavaParserMetaModel.java @@ -501,7 +501,7 @@ public final class JavaParserMetaModel { enclosedExprMetaModel.getDeclaredPropertyMetaModels().add(enclosedExprMetaModel.innerPropertyMetaModel); fieldAccessExprMetaModel.namePropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "name", com.github.javaparser.ast.expr.SimpleName.class, Optional.of(simpleNameMetaModel), false, false, false, false, false); fieldAccessExprMetaModel.getDeclaredPropertyMetaModels().add(fieldAccessExprMetaModel.namePropertyMetaModel); - fieldAccessExprMetaModel.scopePropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "scope", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), true, false, false, false, false); + fieldAccessExprMetaModel.scopePropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "scope", com.github.javaparser.ast.expr.Expression.class, Optional.of(expressionMetaModel), false, false, false, false, false); fieldAccessExprMetaModel.getDeclaredPropertyMetaModels().add(fieldAccessExprMetaModel.scopePropertyMetaModel); fieldAccessExprMetaModel.typeArgumentsPropertyMetaModel = new PropertyMetaModel(fieldAccessExprMetaModel, "typeArguments", com.github.javaparser.ast.type.Type.class, Optional.of(typeMetaModel), true, false, true, false, false); fieldAccessExprMetaModel.getDeclaredPropertyMetaModels().add(fieldAccessExprMetaModel.typeArgumentsPropertyMetaModel); diff --git a/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java b/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java index 174912cee..7582b24d1 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java +++ b/javaparser-core/src/main/java/com/github/javaparser/printer/PrettyPrintVisitor.java @@ -577,8 +577,7 @@ public class PrettyPrintVisitor implements VoidVisitor<Void> { @Override public void visit(final FieldAccessExpr n, final Void arg) { printJavaComment(n.getComment(), arg); - if (n.getScope().isPresent()) - n.getScope().get().accept(this, arg); + n.getScope().accept(this, arg); printer.print("."); n.getName().accept(this, arg); } |