diff options
author | ptff | 2004-02-12 14:29:51 +0000 |
---|---|---|
committer | ptff | 2004-02-12 14:29:51 +0000 |
commit | 0fb8e6d8cd5771230b88c7189dc0d95f3a5da0e3 (patch) | |
tree | e21d6e0db9d4b5227fd8a177f568d25a310d70f4 /org.eclipse.jdt.core/dom/org/eclipse | |
parent | 1dbf45ade1eaa8473579771e92825a7887776253 (diff) | |
download | eclipse.jdt.core-0fb8e6d8cd5771230b88c7189dc0d95f3a5da0e3.tar.gz eclipse.jdt.core-0fb8e6d8cd5771230b88c7189dc0d95f3a5da0e3.tar.xz eclipse.jdt.core-0fb8e6d8cd5771230b88c7189dc0d95f3a5da0e3.zip |
51476, 51478, 51626, 51650, 51770
Diffstat (limited to 'org.eclipse.jdt.core/dom/org/eclipse')
-rw-r--r-- | org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java | 3 | ||||
-rw-r--r-- | org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DocCommentParser.java | 24 |
2 files changed, 23 insertions, 4 deletions
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java index a736929d9a..dab5f9516a 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTConverter.java @@ -3139,11 +3139,14 @@ class ASTConverter { if (compilerNode instanceof org.eclipse.jdt.internal.compiler.ast.TypeReference) { org.eclipse.jdt.internal.compiler.ast.TypeReference typeRef = (org.eclipse.jdt.internal.compiler.ast.TypeReference) compilerNode; if (name.isQualifiedName()) { + int count = 0; SimpleName simpleName = null; while (name.isQualifiedName()) { simpleName = ((QualifiedName) name).getName(); recordNodes(simpleName, typeRef); + simpleName.index = count++; name = ((QualifiedName) name).getQualifier(); + name.index = count; recordNodes(name, typeRef); } } diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DocCommentParser.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DocCommentParser.java index 9ef89307fa..dec3fb0e88 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DocCommentParser.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/DocCommentParser.java @@ -271,10 +271,25 @@ class DocCommentParser extends AbstractCommentParser { */ protected boolean parseTag() { TagElement tag = this.ast.newTagElement(); - int length = this.scanner.currentPosition-this.tagSourceStart; - tag.setTagName(new String(this.source, this.tagSourceStart, length)); - tag.setSourceRange(this.tagSourceStart, length); - pushOnAstStack(tag, true); + int start = this.tagSourceStart; + tag.setTagName(new String(this.source, start, this.tagSourceEnd-start+1)); + if (this.inlineTagStarted) { + start = this.inlineTagStart; + TagElement previousTag = null; + if (this.astPtr == -1) { + previousTag = this.ast.newTagElement(); + previousTag.setSourceRange(start, this.tagSourceEnd-start+1); + pushOnAstStack(previousTag, true); + } else { + previousTag = (TagElement) this.astStack[this.astPtr]; + } + int previousStart = previousTag.getStartPosition(); + previousTag.fragments().add(tag); + previousTag.setSourceRange(previousStart, this.tagSourceEnd-previousStart+1); + } else { + pushOnAstStack(tag, true); + } + tag.setSourceRange(start, this.tagSourceEnd-start+1); return true; } @@ -356,6 +371,7 @@ class DocCommentParser extends AbstractCommentParser { } previousTag.fragments().add(text); previousTag.setSourceRange(previousStart, end-previousStart+1); + this.textStart = -1; } /* (non-Javadoc) * @see org.eclipse.jdt.internal.compiler.parser.AbstractCommentParser#pushText(int, int) |