diff options
author | Karsten Thoms | 2018-10-24 04:57:04 +0000 |
---|---|---|
committer | Andrey Loskutov | 2018-10-24 05:00:46 +0000 |
commit | 28455b57f164175de3b3c74e8ea0c076e28d97f9 (patch) | |
tree | 438dc4f02e04ba812e20c24e5237dfb2156134bb | |
parent | c4f95c4d7a608148cc5c50ae6ec0f250f1387349 (diff) | |
download | eclipse.jdt.core-28455b57f164175de3b3c74e8ea0c076e28d97f9.tar.gz eclipse.jdt.core-28455b57f164175de3b3c74e8ea0c076e28d97f9.tar.xz eclipse.jdt.core-28455b57f164175de3b3c74e8ea0c076e28d97f9.zip |
Bug 540414 - Use constants for zero length arraysY20181026-0120I20181029-1800I20181028-1800I20181027-1800I20181026-1800I20181025-1800I20181024-1800
Change-Id: I0a35f46c1fb0e1f7fa874f0f71b08f89c1e6a6f1
Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de>
-rw-r--r-- | org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java index aa4f753934..efad084512 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/parser/JavadocParser.java @@ -25,6 +25,10 @@ import org.eclipse.jdt.internal.compiler.util.Util; * Parser specialized for decoding javadoc comments */ public class JavadocParser extends AbstractCommentParser { + private static final JavadocSingleNameReference[] NO_SINGLE_NAME_REFERENCE = new JavadocSingleNameReference[0]; + private static final JavadocSingleTypeReference[] NO_SINGLE_TYPE_REFERENCE = new JavadocSingleTypeReference[0]; + private static final TypeReference[] NO_TYPE_REFERENCE = new TypeReference[0]; + private static final Expression[] NO_EXPRESSION = new Expression[0]; // Public fields public Javadoc docComment; @@ -923,12 +927,12 @@ public class JavadocParser extends AbstractCommentParser { for (int i=0; i<=this.astLengthPtr; i++) { sizes[i%ORDERED_TAGS_NUMBER] += this.astLengthStack[i]; } - this.docComment.seeReferences = new Expression[sizes[SEE_TAG_EXPECTED_ORDER]]; - this.docComment.exceptionReferences = new TypeReference[sizes[THROWS_TAG_EXPECTED_ORDER]]; + this.docComment.seeReferences = sizes[SEE_TAG_EXPECTED_ORDER] > 0 ? new Expression[sizes[SEE_TAG_EXPECTED_ORDER]] : NO_EXPRESSION; + this.docComment.exceptionReferences = sizes[THROWS_TAG_EXPECTED_ORDER] > 0 ? new TypeReference[sizes[THROWS_TAG_EXPECTED_ORDER]] : NO_TYPE_REFERENCE; int paramRefPtr = sizes[PARAM_TAG_EXPECTED_ORDER]; - this.docComment.paramReferences = new JavadocSingleNameReference[paramRefPtr]; + this.docComment.paramReferences = paramRefPtr > 0 ? new JavadocSingleNameReference[paramRefPtr] : NO_SINGLE_NAME_REFERENCE; int paramTypeParamPtr = sizes[PARAM_TAG_EXPECTED_ORDER]; - this.docComment.paramTypeParameters = new JavadocSingleTypeReference[paramTypeParamPtr]; + this.docComment.paramTypeParameters = paramTypeParamPtr > 0 ? new JavadocSingleTypeReference[paramTypeParamPtr] : NO_SINGLE_TYPE_REFERENCE; // Store nodes in arrays while (this.astLengthPtr >= 0) { |