diff options
author | Michael Woski | 2017-10-10 21:04:13 +0000 |
---|---|---|
committer | Nathan Ridge | 2017-10-11 20:51:33 +0000 |
commit | 4b3aea7e2ac58e4b3c23dc35b68ded5ebc7e4b14 (patch) | |
tree | f211d2b870a32dceb3da69c0aa0d231b999702a5 /core | |
parent | a20fb382238238362382868fd98ad2b8b950c17a (diff) | |
download | org.eclipse.cdt-4b3aea7e2ac58e4b3c23dc35b68ded5ebc7e4b14.tar.gz org.eclipse.cdt-4b3aea7e2ac58e4b3c23dc35b68ded5ebc7e4b14.tar.xz org.eclipse.cdt-4b3aea7e2ac58e4b3c23dc35b68ded5ebc7e4b14.zip |
bug 525794 - NPE when invoking Open Declaration in "empty space"
Change-Id: I09a8670d113553c9046d829526149f869f4029a4
Signed-off-by: Michael Woski <woskimi@yahoo.de>
Diffstat (limited to 'core')
2 files changed, 13 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java index 69be5b54483..ec4b771ba77 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/SemanticUtil.java @@ -742,6 +742,8 @@ public class SemanticUtil { } public static boolean isAutoOrDecltype(String code) { + if (code == null) + return false; return (code.equals(Keywords.AUTO) || code.equals(Keywords.TYPEOF) || code.equals(Keywords.DECLTYPE)); } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsNoIndexer.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsNoIndexer.java index 6425171d0cb..3542e6660d9 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsNoIndexer.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsNoIndexer.java @@ -1391,4 +1391,15 @@ public class CPPSelectionTestsNoIndexer extends BaseSelectionTests { assertInstance(target, IASTName.class); assertEquals("A", ((IASTName) target).toString()); } + + // void npeTest() { + // auto i = 1; + // } + public void testEmptySpace_525794() throws Exception { + String code = getAboveComment(); + IFile file = importFile("testBug525794.cpp", code); + + int offset = code.indexOf("auto") - 2; + IASTNode target = testF3(file, offset); + } } |