Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarsten Thoms2018-10-24 04:57:04 +0000
committerAndrey Loskutov2018-10-24 05:00:46 +0000
commit28455b57f164175de3b3c74e8ea0c076e28d97f9 (patch)
tree438dc4f02e04ba812e20c24e5237dfb2156134bb
parentc4f95c4d7a608148cc5c50ae6ec0f250f1387349 (diff)
downloadeclipse.jdt.core-28455b57f164175de3b3c74e8ea0c076e28d97f9.tar.gz
eclipse.jdt.core-28455b57f164175de3b3c74e8ea0c076e28d97f9.tar.xz
eclipse.jdt.core-28455b57f164175de3b3c74e8ea0c076e28d97f9.zip
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.java12
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) {

Back to the top