diff options
author | nitind | 2010-02-23 02:34:48 +0000 |
---|---|---|
committer | nitind | 2010-02-23 02:34:48 +0000 |
commit | cf27d44945423e9ac687deb634c48c5d1515dd79 (patch) | |
tree | bc67f9154141be254f685fc47d0cf5b265948641 | |
parent | decda5e14045d3ec1781f2d3f29365ba0603af3e (diff) | |
download | webtools.jsdt.core-cf27d44945423e9ac687deb634c48c5d1515dd79.tar.gz webtools.jsdt.core-cf27d44945423e9ac687deb634c48c5d1515dd79.tar.xz webtools.jsdt.core-cf27d44945423e9ac687deb634c48c5d1515dd79.zip |
[nobug] catch JSME from missing JSDoc range
-rw-r--r-- | bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/JSdocContentAccess.java | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/JSdocContentAccess.java b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/JSdocContentAccess.java index fbe6e449..77b9b4cd 100644 --- a/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/JSdocContentAccess.java +++ b/bundles/org.eclipse.wst.jsdt.ui/src/org/eclipse/wst/jsdt/ui/JSdocContentAccess.java @@ -94,27 +94,31 @@ public class JSdocContentAccess { IBuffer buf= openable.getBuffer(); if (buf != null) { - // source or attachment found - ISourceRange jsDocRange= member.getJSdocRange(); - if(jsDocRange == null && member.getElementType() == IJavaScriptElement.TYPE) { - IFunction constructor = ((IType) member).getFunction(member.getElementName(), null); - if(constructor.exists()) { - jsDocRange = constructor.getJSdocRange(); - } - } - if (jsDocRange != null) { - JavaDocCommentReader reader= new JavaDocCommentReader(buf, jsDocRange.getOffset(), jsDocRange.getOffset() + jsDocRange.getLength() - 1); - if (!containsOnlyInheritDoc(reader, jsDocRange.getLength())) { - reader.reset(); - readers.add(reader); + try { + // source or attachment found + ISourceRange jsDocRange = member.getJSdocRange(); + if (jsDocRange == null && member.getElementType() == IJavaScriptElement.TYPE) { + IFunction constructor = ((IType) member).getFunction(member.getElementName(), null); + if (constructor.exists()) { + jsDocRange = constructor.getJSdocRange(); + } } - else if (allowInherited && (member.getElementType() == IJavaScriptElement.METHOD)) { - Reader hierarchyDocReader = findDocInHierarchy((IFunction) member); - if (hierarchyDocReader != null) - readers.add(hierarchyDocReader); + if (jsDocRange != null) { + JavaDocCommentReader reader = new JavaDocCommentReader(buf, jsDocRange.getOffset(), jsDocRange.getOffset() + jsDocRange.getLength() - 1); + if (!containsOnlyInheritDoc(reader, jsDocRange.getLength())) { + reader.reset(); + readers.add(reader); + } + else if (allowInherited && (member.getElementType() == IJavaScriptElement.METHOD)) { + Reader hierarchyDocReader = findDocInHierarchy((IFunction) member); + if (hierarchyDocReader != null) + readers.add(hierarchyDocReader); + } } } - + catch (JavaScriptModelException e) { + // doesn't exist + } } if (!readers.isEmpty()) { |