diff --git a/javaparser-core/src/main/java/com/github/javaparser/JavaToken.java b/javaparser-core/src/main/java/com/github/javaparser/JavaToken.java index 5eb148194d..28421beb21 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/JavaToken.java +++ b/javaparser-core/src/main/java/com/github/javaparser/JavaToken.java @@ -20,11 +20,13 @@ */ package com.github.javaparser; -import java.util.List; -import java.util.Optional; import static com.github.javaparser.utils.CodeGenerationUtils.f; import static com.github.javaparser.utils.Utils.SYSTEM_EOL; import static com.github.javaparser.utils.Utils.assertNotNull; + +import java.util.List; +import java.util.Optional; + import com.github.javaparser.ast.Generated; /** @@ -133,6 +135,13 @@ public JavaToken(Range range, int kind, String text, JavaToken previousToken, Ja public Optional getRange() { return Optional.ofNullable(range); } + + /* + * Returns true if the token has a range + */ + public boolean hasRange() { + return getRange().isPresent(); + } public int getKind() { return kind; diff --git a/javaparser-core/src/main/java/com/github/javaparser/TokenRange.java b/javaparser-core/src/main/java/com/github/javaparser/TokenRange.java index f2837b46d3..1796581feb 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/TokenRange.java +++ b/javaparser-core/src/main/java/com/github/javaparser/TokenRange.java @@ -21,11 +21,11 @@ package com.github.javaparser; +import static com.github.javaparser.utils.Utils.assertNotNull; + import java.util.Iterator; import java.util.Optional; -import static com.github.javaparser.utils.Utils.assertNotNull; - /** * The range of tokens covered by this node. */ @@ -49,7 +49,7 @@ public JavaToken getEnd() { } public Optional toRange() { - if (begin.getRange().isPresent() && end.getRange().isPresent()) { + if (begin.hasRange() && end.hasRange()) { return Optional.of(new Range(begin.getRange().get().begin, end.getRange().get().end)); } return Optional.empty(); diff --git a/javaparser-core/src/main/java/com/github/javaparser/ast/Node.java b/javaparser-core/src/main/java/com/github/javaparser/ast/Node.java index 0ef085a0c5..0ab9d1ffb5 100644 --- a/javaparser-core/src/main/java/com/github/javaparser/ast/Node.java +++ b/javaparser-core/src/main/java/com/github/javaparser/ast/Node.java @@ -20,6 +20,31 @@ */ package com.github.javaparser.ast; +import static com.github.javaparser.ast.Node.Parsedness.PARSED; +import static com.github.javaparser.ast.Node.TreeTraversal.PREORDER; +import static java.util.Collections.emptySet; +import static java.util.Collections.unmodifiableList; +import static java.util.Spliterator.DISTINCT; +import static java.util.Spliterator.NONNULL; + +import java.util.ArrayList; +import java.util.Comparator; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Optional; +import java.util.Queue; +import java.util.Set; +import java.util.Spliterators; +import java.util.Stack; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; + import com.github.javaparser.HasParentNode; import com.github.javaparser.Position; import com.github.javaparser.Range; @@ -46,20 +71,6 @@ import com.github.javaparser.resolution.SymbolResolver; import com.github.javaparser.utils.LineSeparator; -import java.util.*; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.stream.Stream; -import java.util.stream.StreamSupport; - -import static com.github.javaparser.ast.Node.Parsedness.PARSED; -import static com.github.javaparser.ast.Node.TreeTraversal.PREORDER; -import static java.util.Collections.emptySet; -import static java.util.Collections.unmodifiableList; -import static java.util.Spliterator.DISTINCT; -import static java.util.Spliterator.NONNULL; - /** * Base class for all nodes of the abstract syntax tree. *

Construction

@@ -136,11 +147,11 @@ public enum Parsedness { * This can be used to sort nodes on position. */ public static Comparator> NODE_BY_BEGIN_POSITION = (a, b) -> { - if (a.getRange().isPresent() && b.getRange().isPresent()) { + if (a.hasRange() && b.hasRange()) { return a.getRange().get().begin.compareTo(b.getRange().get().begin); } - if (a.getRange().isPresent() || b.getRange().isPresent()) { - if (a.getRange().isPresent()) { + if (a.hasRange() || b.hasRange()) { + if (a.hasRange()) { return 1; } return -1; @@ -217,7 +228,7 @@ public Optional getTokenRange() { public Node setTokenRange(TokenRange tokenRange) { this.tokenRange = tokenRange; - if (tokenRange == null || !(tokenRange.getBegin().getRange().isPresent() && tokenRange.getEnd().getRange().isPresent())) { + if (tokenRange == null || !(tokenRange.getBegin().hasRange() && tokenRange.getEnd().hasRange())) { range = null; } else { range = new Range(tokenRange.getBegin().getRange().get().begin, tokenRange.getEnd().getRange().get().end);