diff options
author | nitind | 2010-10-11 17:59:48 +0000 |
---|---|---|
committer | nitind | 2010-10-11 17:59:48 +0000 |
commit | 31c71feeb3c07f67f7b64c2a8b85d0b18b9e37e9 (patch) | |
tree | a000e2174cd975a5a0b63bdc43e11e2181642e06 | |
parent | 889e257f8c3c366991f333c28ec5fefe25f510ce (diff) | |
download | webtools.jsdt.debug-R3_2_2_patches.tar.gz webtools.jsdt.debug-R3_2_2_patches.tar.xz webtools.jsdt.debug-R3_2_2_patches.zip |
[327279] Can't create JavaScript line breakpointv201010111802R3_2_2_patches
2 files changed, 8 insertions, 11 deletions
diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java index 90d466f..64aeb7d 100644 --- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java +++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/BreakpointLocationFinder.java @@ -246,13 +246,6 @@ public class BreakpointLocationFinder extends ASTVisitor { } /* (non-Javadoc) - * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#preVisit(org.eclipse.wst.jsdt.core.dom.ASTNode) - */ - public void preVisit(ASTNode node) { - super.preVisit(node); - } - - /* (non-Javadoc) * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.AnonymousClassDeclaration) */ public boolean visit(AnonymousClassDeclaration node) { @@ -315,8 +308,8 @@ public class BreakpointLocationFinder extends ASTVisitor { public boolean visit(Block node) { if(visit(node, false)) { if(node.statements().isEmpty() && node.getParent().getNodeType() == ASTNode.FUNCTION_DECLARATION) { - int offset = node.getStartPosition(); - this.linenumber = lineNumber(offset + node.getLength() - 1); + int offset = node.getStartPosition() + node.getLength() - 1; + this.linenumber = lineNumber(offset); this.found = true; this.location = LINE; this.offset = offset; @@ -894,7 +887,7 @@ public class BreakpointLocationFinder extends ASTVisitor { * @see org.eclipse.wst.jsdt.core.dom.ASTVisitor#visit(org.eclipse.wst.jsdt.core.dom.VariableDeclarationStatement) */ public boolean visit(VariableDeclarationStatement node) { - return visit(node, false); + return visit(node, node.getParent().getNodeType() == ASTNode.BLOCK); } /* (non-Javadoc) diff --git a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java index 72468cd..cd36ffe 100644 --- a/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java +++ b/bundles/org.eclipse.wst.jsdt.debug.ui/src/org/eclipse/wst/jsdt/debug/internal/ui/breakpoints/ToggleBreakpointAdapter.java @@ -398,7 +398,11 @@ public class ToggleBreakpointAdapter implements IToggleBreakpointsTargetExtensio return; } case BreakpointLocationFinder.LINE: { - toggleLineBreakpoint(part, (ITextSelection) selection, root.getElementAt(finder.getOffset()), finder.getLineNumber()); + IJavaScriptElement element = root.getElementAt(finder.getOffset()); + if(element == null) { + element = root; + } + toggleLineBreakpoint(part, (ITextSelection) selection, element, finder.getLineNumber()); return; } case BreakpointLocationFinder.FUNCTION: { |