diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java index 82a50196b2b..2229d964eba 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java @@ -80,10 +80,10 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde private void assertNode(String name, int offset, IASTNode node) { assertNotNull(node); - assertEquals(name, node.toString()); + assertEquals(node.toString(), name); IASTFileLocation loc= node.getFileLocation(); - assertEquals(offset, loc.getNodeOffset()); - assertEquals(name.length(), loc.getNodeLength()); + assertEquals(loc.getNodeOffset(), offset); + assertEquals(loc.getNodeLength(), name.length()); } protected void waitUntilFileIsIndexed(IIndex index, IFile file, int maxmillis) throws Exception { @@ -130,17 +130,17 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde IASTNode node = testF3(file, offset); assertTrue(node instanceof IASTName); - assertEquals("operator new[]", ((IASTName)node).toString()); //$NON-NLS-1$ - assertEquals(hcode.indexOf("operator new"), ((ASTNode)node).getOffset()); - assertEquals(16, ((ASTNode)node).getLength()); + assertEquals(((IASTName)node).toString(), "operator new[]"); //$NON-NLS-1$ + assertEquals(((ASTNode)node).getOffset(), hcode.indexOf("operator new")); + assertEquals(((ASTNode)node).getLength(), 16); offset = scode.indexOf("p2-> operator") + 11; //$NON-NLS-1$ node = testF3(file, offset); assertTrue(node instanceof IASTName); - assertEquals("operator =", ((IASTName)node).toString()); //$NON-NLS-1$ - assertEquals(hcode.indexOf("operator="), ((ASTNode)node).getOffset()); - assertEquals(9, ((ASTNode)node).getLength()); + assertEquals(((IASTName)node).toString(), "operator ="); //$NON-NLS-1$ + assertEquals(((ASTNode)node).getOffset(), hcode.indexOf("operator=")); + assertEquals(((ASTNode)node).getLength(), 9); } // template @@ -172,9 +172,9 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde int soffset = scode.indexOf("testTemplate"); IASTNode def = testF3(file, soffset+2); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "testTemplate"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), hoffset); - assertEquals(((ASTNode)def).getLength(), 12); + assertEquals("testTemplate", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) def).getOffset()); + assertEquals(12, ((ASTNode) def).getLength()); } // template @@ -198,9 +198,9 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde int soffset = scode.indexOf("assign"); //$NON-NLS-1$ IASTNode def = testF3(file, soffset + 2); assertTrue(def instanceof IASTName); - assertEquals(((IASTName) def).toString(), "assign"); //$NON-NLS-1$ - assertEquals(((ASTNode) def).getOffset(), hoffset); - assertEquals(((ASTNode) def).getLength(), 6); + assertEquals("assign", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) def).getOffset()); + assertEquals(6, ((ASTNode) def).getLength()); } // // the header @@ -231,12 +231,12 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde IASTNode def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyInt"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), hoffset); - assertEquals(((ASTNode)decl).getLength(), 5); - assertEquals(((IASTName)def).toString(), "MyInt"); //$NON-NLS-1$ + assertEquals("MyInt", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(5, ((ASTNode) decl).getLength()); + assertEquals("MyInt", ((IASTName) def).toString()); //$NON-NLS-1$ assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 5); + assertEquals(5, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyConst"); soffset = scode.indexOf("MyConst"); @@ -244,12 +244,12 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyConst"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 7); - assertEquals(((IASTName)def).toString(), "MyConst"); //$NON-NLS-1$ + assertEquals("MyConst", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(7, ((ASTNode) decl).getLength()); + assertEquals("MyConst", ((IASTName) def).toString()); //$NON-NLS-1$ assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 7); + assertEquals(7, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyFunc"); soffset = scode.indexOf("MyFunc"); @@ -257,12 +257,12 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyFunc"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 6); - assertEquals(((IASTName)def).toString(), "MyFunc"); //$NON-NLS-1$ + assertEquals("MyFunc", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(6, ((ASTNode) decl).getLength()); + assertEquals("MyFunc", ((IASTName) def).toString()); //$NON-NLS-1$ assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 6); + assertEquals(6, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyStruct"); soffset = scode.indexOf("MyStruct"); @@ -270,12 +270,12 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 8); - assertEquals(((IASTName)def).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 8); + assertEquals("MyStruct", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); + assertEquals("MyStruct", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(hoffset, def.getFileLocation().getNodeOffset()); + assertEquals(8, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyClass"); soffset = scode.indexOf("MyClass"); @@ -283,12 +283,12 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyClass"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 7); - assertEquals(((IASTName)def).toString(), "MyClass"); //$NON-NLS-1$ - assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 7); + assertEquals("MyClass", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(7, ((ASTNode) decl).getLength()); + assertEquals("MyClass", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(hoffset, def.getFileLocation().getNodeOffset()); + assertEquals(7, ((ASTNode) def).getLength()); } // // the header @@ -310,14 +310,14 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde int soffset = scode.indexOf("AAA"); //$NON-NLS-1$ IASTNode decl1 = testF3(file, soffset, 3); assertTrue(decl1 instanceof IASTName); - assertEquals(((IASTName)decl1).toString(), "AAA"); //$NON-NLS-1$ + assertEquals("AAA", ((IASTName) decl1).toString()); //$NON-NLS-1$ assertEquals(hoffset, decl1.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)decl1).getLength(), 3); + assertEquals(3, ((ASTNode) decl1).getLength()); IASTNode decl2 = testF3(file, soffset, 8); - assertEquals(((IASTName)decl2).toString(), "AAA"); //$NON-NLS-1$ + assertEquals("AAA", ((IASTName) decl2).toString()); //$NON-NLS-1$ assertEquals(hoffset, decl2.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)decl2).getLength(), 3); + assertEquals(3, ((ASTNode) decl2).getLength()); } // // the header @@ -344,9 +344,9 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde int doffset= hcode.indexOf("X(int)"); IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ assertEquals(doffset, decl.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals(1, ((ASTNode) decl).getLength()); } // // the header @@ -376,9 +376,9 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde int doffset = hcode.indexOf("X()"); IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals("X", decl.toString()); + assertEquals(decl.toString(), "X"); assertEquals(doffset, decl.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals(1, ((ASTNode) decl).getLength()); } // // the header @@ -453,7 +453,7 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde offset1= scode.indexOf("S;"); int offset2= scode.indexOf("S", offset1); decl= testF3(hfile, offset0); - assertNode("S", offset1, decl); + assertNode("S", offset0, decl); decl= testF3(file, offset1); assertNode("S", offset0, decl); decl= testF3(file, offset2); @@ -1001,7 +1001,7 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde testF3(file, offset1); IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); IEditorInput input = part.getEditorInput(); - assertEquals("aheader.h", ((FileEditorInput)input).getFile().getName()); + assertEquals("aheader.h", ((FileEditorInput) input).getFile().getName()); } // void cfunc(); @@ -1028,18 +1028,18 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde testF3(cppfile, offset1); IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); IEditorInput input = part.getEditorInput(); - assertEquals("s.c", ((FileEditorInput)input).getFile().getName()); + assertEquals("s.c", ((FileEditorInput) input).getFile().getName()); testF3(cppfile, offset2); part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); input = part.getEditorInput(); - assertEquals("s.c", ((FileEditorInput)input).getFile().getName()); + assertEquals("s.c", ((FileEditorInput) input).getFile().getName()); offset1 = ccode.indexOf("cxcpp"); testF3(cfile, offset1); part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); input = part.getEditorInput(); - assertEquals("s.cpp", ((FileEditorInput)input).getFile().getName()); + assertEquals("s.cpp", ((FileEditorInput) input).getFile().getName()); } // void cxcpp(); @@ -1066,18 +1066,18 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde testF3(cfile, offset1); IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); IEditorInput input = part.getEditorInput(); - assertEquals("s.cpp", ((FileEditorInput)input).getFile().getName()); + assertEquals("s.cpp", ((FileEditorInput) input).getFile().getName()); testF3(cfile, offset2); part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); input = part.getEditorInput(); - assertEquals("s.cpp", ((FileEditorInput)input).getFile().getName()); + assertEquals("s.cpp", ((FileEditorInput) input).getFile().getName()); offset1 = scode.indexOf("cxcpp"); testF3(cppfile, offset1); part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); input = part.getEditorInput(); - assertEquals("s.c", ((FileEditorInput)input).getFile().getName()); + assertEquals("s.c", ((FileEditorInput) input).getFile().getName()); } // #define ADD_TEXT(txt1,txt2) txt1" "txt2 @@ -1169,8 +1169,8 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde int soffset = scode.indexOf("+"); //$NON-NLS-1$ IASTNode def = testF3(file, soffset + 1); assertTrue(def instanceof IASTName); - assertEquals(((IASTName) def).toString(), "operator +"); //$NON-NLS-1$ - assertEquals(((ASTNode) def).getOffset(), hoffset); - assertEquals(((ASTNode) def).getLength(), 9); + assertEquals("operator +", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) def).getOffset()); + assertEquals(9, ((ASTNode) def).getLength()); } } 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 6adaf580ef7..7e4924fb0d8 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 @@ -314,17 +314,17 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { IASTNode node = testF3(file, offset); assertTrue(node instanceof IASTName); - assertEquals(((IASTName)node).toString(), "operator new[]"); //$NON-NLS-1$ - assertEquals(((ASTNode)node).getOffset(), 183); - assertEquals(((ASTNode)node).getLength(), 16); + assertEquals("operator new[]", ((IASTName)node).toString()); //$NON-NLS-1$ + assertEquals(183, ((ASTNode)node).getOffset()); + assertEquals(16, ((ASTNode)node).getLength()); offset = code.indexOf("p2-> operator") + 11; //$NON-NLS-1$ node = testF3(file, offset); assertTrue(node instanceof IASTName); - assertEquals(((IASTName)node).toString(), "operator ="); //$NON-NLS-1$ - assertEquals(((ASTNode)node).getOffset(), 121); - assertEquals(((ASTNode)node).getLength(), 9); + assertEquals("operator =", ((IASTName)node).toString()); //$NON-NLS-1$ + assertEquals(121, ((ASTNode)node).getOffset()); + assertEquals(9, ((ASTNode)node).getLength()); } public void testBasicDefinition() throws Exception { @@ -350,12 +350,12 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { IASTNode decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyInt"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 11); - assertEquals(((ASTNode)decl).getLength(), 5); - assertEquals(((IASTName)def).toString(), "MyInt"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 330); - assertEquals(((ASTNode)def).getLength(), 5); + assertEquals("MyInt", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(11, ((ASTNode) decl).getOffset()); + assertEquals(5, ((ASTNode) decl).getLength()); + assertEquals("MyInt", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(330, ((ASTNode) def).getOffset()); + assertEquals(5, ((ASTNode) def).getLength()); offset= code.indexOf("MyConst") + 2; defOffset= code.indexOf("MyConst", offset) + 2; @@ -363,12 +363,12 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyConst"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 69); - assertEquals(((ASTNode)decl).getLength(), 7); - assertEquals(((IASTName)def).toString(), "MyConst"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 354); - assertEquals(((ASTNode)def).getLength(), 7); + assertEquals("MyConst", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(69, ((ASTNode) decl).getOffset()); + assertEquals(7, ((ASTNode) decl).getLength()); + assertEquals("MyConst", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(354, ((ASTNode) def).getOffset()); + assertEquals(7, ((ASTNode) def).getLength()); offset= code.indexOf("MyFunc") + 2; defOffset= code.indexOf("MyFunc", offset) + 2; @@ -376,12 +376,12 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyFunc"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 115); - assertEquals(((ASTNode)decl).getLength(), 6); - assertEquals(((IASTName)def).toString(), "MyFunc"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 373); - assertEquals(((ASTNode)def).getLength(), 6); + assertEquals("MyFunc", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(115, ((ASTNode) decl).getOffset()); + assertEquals(6, ((ASTNode) decl).getLength()); + assertEquals("MyFunc", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(373, ((ASTNode) def).getOffset()); + assertEquals(6, ((ASTNode) def).getLength()); offset= code.indexOf("MyStruct") + 2; defOffset= code.indexOf("MyStruct", offset) + 2; @@ -389,12 +389,12 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 171); - assertEquals(((ASTNode)decl).getLength(), 8); - assertEquals(((IASTName)def).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 417); - assertEquals(((ASTNode)def).getLength(), 8); + assertEquals("MyStruct", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(417, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); + assertEquals("MyStruct", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(417, ((ASTNode) def).getOffset()); + assertEquals(8, ((ASTNode) def).getLength()); offset= code.indexOf("MyClass") + 2; defOffset= code.indexOf("MyClass", offset) + 2; @@ -402,12 +402,12 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyClass"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 278); - assertEquals(((ASTNode)decl).getLength(), 7); - assertEquals(((IASTName)def).toString(), "MyClass"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 463); - assertEquals(((ASTNode)def).getLength(), 7); + assertEquals("MyClass", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(463, ((ASTNode) decl).getOffset()); + assertEquals(7, ((ASTNode) decl).getLength()); + assertEquals("MyClass", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(463, ((ASTNode) def).getOffset()); + assertEquals(7, ((ASTNode) def).getLength()); } public void testBug95224() throws Exception{ @@ -424,9 +424,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("A(); // open definition "); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "~A"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 65); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("~A", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(65, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); } public void testBasicTemplateInstance() throws Exception{ @@ -442,15 +442,15 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("AAA"); //$NON-NLS-1$ IASTNode decl1 = testF3(file, offset, 3); assertTrue(decl1 instanceof IASTName); - assertEquals(((IASTName)decl1).toString(), "AAA"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl1).getOffset(), 74); - assertEquals(((ASTNode)decl1).getLength(), 3); + assertEquals("AAA", ((IASTName) decl1).toString()); //$NON-NLS-1$ + assertEquals(74, ((ASTNode) decl1).getOffset()); + assertEquals(3, ((ASTNode) decl1).getLength()); IASTNode decl2 = testF3(file, offset, 8); assertTrue(decl2 instanceof IASTName); - assertEquals(((IASTName)decl2).toString(), "AAA"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl2).getOffset(), 74); - assertEquals(((ASTNode)decl2).getLength(), 3); + assertEquals("AAA", ((IASTName) decl2).toString()); //$NON-NLS-1$ + assertEquals(74, ((ASTNode) decl2).getOffset()); + assertEquals(3, ((ASTNode) decl2).getLength()); } public void testBug86829A() throws Exception { @@ -471,9 +471,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("X(2)"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 18); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(18, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } public void testBug86829B() throws Exception { @@ -497,9 +497,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("X(a);"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 6); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(6, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } // taken from C++ spec 3.1-3: @@ -557,241 +557,241 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("a; // defines a"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 512); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("a", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(512, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("c = 1; // defines c"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "c"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 546); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("c", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(546, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("f(int x) { return x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "f"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 567); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("f", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(567, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x) { return x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 67); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(67, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 67); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(67, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 67); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(67, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 4); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("a", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("S { int a; int b; }; // defines S, S::a, and S::b"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "S"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 596); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("S", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(120, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("a; int b; }; // defines S, S::a, and S::b"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 128); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("a", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(128, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("b; }; // defines S, S::a, and S::b"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "b"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 135); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("b", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(135, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("X { // defines X"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 177); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x; // defines nonstatic data member x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 198); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(198, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); IASTNode def; offset = code.indexOf("y; // declares static data member y"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "y"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 337); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("y", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(337, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("X(): x(0) { } // defines a constructor of X"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 283); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(283, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x(0) { } // defines a constructor of X"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 198); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(198, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("X::y = 1; // defines X::y"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 177); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("y = 1; // defines X::y"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "y"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 247); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("y", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(247, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("up, down }; // defines up and down"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "up"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 367); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("up", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(367, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("down }; // defines up and down"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "down"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 371); - assertEquals(((ASTNode)decl).getLength(), 4); + assertEquals("down", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(371, ((ASTNode) decl).getOffset()); + assertEquals(4, ((ASTNode) decl).getLength()); offset = code.indexOf("N { int d; } // defines N and N::d"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "N"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 412); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("N", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(412, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("d; } // defines N and N::d"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "d"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 420); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("d", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(420, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("N1 = N; // defines N1"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "N1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 457); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("N1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(457, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("N; // defines N1"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "N"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 412); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("N", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(412, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("X anX; // defines anX"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 177); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("X", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("anX; // defines anX"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "anX"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 481); - assertEquals(((ASTNode)decl).getLength(), 3); + assertEquals("anX", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(481, ((ASTNode) decl).getOffset()); + assertEquals(3, ((ASTNode) decl).getLength()); offset = code.indexOf("a; // declares a"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 4); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("a", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("c; // declares c"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "c"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 37); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("c", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(37, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("f(int y); // declar f"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "f"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 61); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("f", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(61, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("S; // declares S"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "S"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 120); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("S", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(120, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("Int; // declares Int"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "Int"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 625); - assertEquals(((ASTNode)decl).getLength(), 3); + assertEquals("Int", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(625, ((ASTNode) decl).getOffset()); + assertEquals(3, ((ASTNode) decl).getLength()); offset = code.indexOf("X anotherX; // declares anotherX"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 177); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("X", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("anotherX; // declares anotherX"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "anotherX"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 655); - assertEquals(((ASTNode)decl).getLength(), 8); + assertEquals("anotherX", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(655, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); offset = code.indexOf("N::d; // declares N::d"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "N"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 412); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("N", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(412, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("d; // declares N::d"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "d"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 420); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("d", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(420, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); } public void testBug95225() throws Exception { @@ -819,16 +819,16 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("rflow('+',x,3.45e107);"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "Overflow"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 25); - assertEquals(((ASTNode)decl).getLength(), 8); + assertEquals("Overflow", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(25, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); offset = code.indexOf("x,3.45e107);"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 72); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(72, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } public void testNoDefinitions() throws Exception { @@ -845,37 +845,37 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("a1; // declares a"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 11); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("a1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(11, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("c1; // declares c"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "c1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 46); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("c1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(46, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("f1(int); // declares f"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "f1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 68); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("f1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(68, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("S1; // declares S"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "S1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 98); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("S1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(98, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("Int; // declares Int"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "Int"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 128); - assertEquals(((ASTNode)decl).getLength(), 3); + assertEquals("Int", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(128, ((ASTNode) decl).getOffset()); + assertEquals(3, ((ASTNode) decl).getLength()); } public void testBug95202() throws Exception { @@ -895,9 +895,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("s); // wellformed"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "s"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 117); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("s", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(117, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } public void testBug95229() throws Exception { @@ -915,9 +915,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("rator short(); // F3"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "operator short int"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 11); - assertEquals(((ASTNode)decl).getLength(), 14); + assertEquals("operator short int", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(11, ((ASTNode) decl).getOffset()); + assertEquals(14, ((ASTNode) decl).getLength()); } public void testBug78354() throws Exception { @@ -937,9 +937,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("TestTypeOne myFirstLink = 5;"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "TestTypeOne"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 12); - assertEquals(((ASTNode)decl).getLength(), 11); + assertEquals("TestTypeOne", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(12, ((ASTNode) decl).getOffset()); + assertEquals(11, ((ASTNode) decl).getLength()); } public void testBug103697() throws Exception { @@ -955,9 +955,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("return x;\n") + "return ".length(); //$NON-NLS-1$ //$NON-NLS-2$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 4); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } public void testBug76043() throws Exception { @@ -975,9 +975,9 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("return x;\n") + "return ".length(); //$NON-NLS-1$ //$NON-NLS-2$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 4); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } // typedef int (*functionPointer)(int); @@ -998,8 +998,8 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { IASTNode decl = testF3(file, or1); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "functionPointer"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), od1); + assertEquals("functionPointer", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(od1, ((ASTNode) decl).getOffset()); IEditorPart editor= PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); assertNotNull(editor); @@ -1011,8 +1011,8 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, code.length() + or2); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "functionPointerArray"); - assertEquals(((ASTNode)decl).getOffset(), code.length() + od2); + assertEquals("functionPointerArray", ((IASTName) decl).toString()); + assertEquals(code.length() + od2, ((ASTNode) decl).getOffset()); } } @@ -1028,8 +1028,8 @@ public class CPPSelectionTestsNoIndexer extends BaseUITestCase { IASTNode decl = testF3(file, or1); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "EMPTY"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), od1); + assertEquals("EMPTY", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(od1, ((ASTNode) decl).getOffset()); } } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsAnyIndexer.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsAnyIndexer.java index d7ca6b64963..5686c3f380e 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsAnyIndexer.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsAnyIndexer.java @@ -75,7 +75,7 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe private void assertNode(String name, int offset, IASTNode node) { assertNotNull(node); - assertEquals(name, node.toString()); + assertEquals(node.toString(), name); IASTFileLocation loc= node.getFileLocation(); assertEquals(offset, loc.getNodeOffset()); assertEquals(name.length(), loc.getNodeLength()); @@ -107,12 +107,12 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe IASTNode def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyInt"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), hoffset); - assertEquals(((ASTNode)decl).getLength(), 5); - assertEquals(((IASTName)def).toString(), "MyInt"); //$NON-NLS-1$ + assertEquals("MyInt", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(5, ((ASTNode) decl).getLength()); + assertEquals("MyInt", ((IASTName) def).toString()); //$NON-NLS-1$ assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 5); + assertEquals(5, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyConst"); soffset = scode.indexOf("MyConst"); @@ -120,12 +120,12 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyConst"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 7); - assertEquals(((IASTName)def).toString(), "MyConst"); //$NON-NLS-1$ + assertEquals("MyConst", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(7, ((ASTNode) decl).getLength()); + assertEquals("MyConst", ((IASTName) def).toString()); //$NON-NLS-1$ assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 7); + assertEquals(7, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyFunc"); soffset = scode.indexOf("MyFunc"); @@ -133,12 +133,12 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyFunc"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 6); - assertEquals(((IASTName)def).toString(), "MyFunc"); //$NON-NLS-1$ + assertEquals("MyFunc", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(6, ((ASTNode) decl).getLength()); + assertEquals("MyFunc", ((IASTName) def).toString()); //$NON-NLS-1$ assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 6); + assertEquals(6, ((ASTNode) def).getLength()); hoffset= hcode.indexOf("MyStruct"); soffset = scode.indexOf("MyStruct"); @@ -146,12 +146,12 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe def = testF3(hfile, hoffset+2); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(hoffset, ((ASTNode)decl).getOffset()); - assertEquals(((ASTNode)decl).getLength(), 8); - assertEquals(((IASTName)def).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(soffset, def.getFileLocation().getNodeOffset()); - assertEquals(((ASTNode)def).getLength(), 8); + assertEquals("MyStruct", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(hoffset, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); + assertEquals("MyStruct", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(hoffset, def.getFileLocation().getNodeOffset()); + assertEquals(8, ((ASTNode) def).getLength()); } @@ -221,7 +221,7 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe offset1= scode.indexOf("S;"); int offset2= scode.indexOf("S", offset1); decl= testF3(hfile, offset0); - assertNode("S", offset1, decl); + assertNode("S", offset0, decl); decl= testF3(file, offset1); assertNode("S", offset0, decl); decl= testF3(file, offset2); @@ -497,7 +497,7 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe testF3(file, offset1); IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); IEditorInput input = part.getEditorInput(); - assertEquals("aheader.h", ((FileEditorInput)input).getFile().getName()); + assertEquals("aheader.h", ((FileEditorInput) input).getFile().getName()); } // #define DR_NUM_DIMENSIONS(DR) VEC_length (tree, DR_ACCESS_FNS (DR)) @@ -517,7 +517,7 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe testF3(hfile, offset1); IEditorPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); IEditorInput input = part.getEditorInput(); - assertEquals("source.c", ((FileEditorInput)input).getFile().getName()); + assertEquals("source.c", ((FileEditorInput) input).getFile().getName()); } // int myFunc(); @@ -547,5 +547,4 @@ public abstract class CSelectionTestsAnyIndexer extends BaseSelectionTestsIndexe assertTrue(name.isDefinition()); assertEquals("myFunc", name.toString()); } - } diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsNoIndexer.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsNoIndexer.java index 4d1f3dddea8..8732cca7bd0 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsNoIndexer.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CSelectionTestsNoIndexer.java @@ -326,12 +326,12 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { IASTNode decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyInt"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 11); - assertEquals(((ASTNode)decl).getLength(), 5); - assertEquals(((IASTName)def).toString(), "MyInt"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 330); - assertEquals(((ASTNode)def).getLength(), 5); + assertEquals("MyInt", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(11, ((ASTNode) decl).getOffset()); + assertEquals(5, ((ASTNode) decl).getLength()); + assertEquals("MyInt", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(330, ((ASTNode) def).getOffset()); + assertEquals(5, ((ASTNode) def).getLength()); offset= code.indexOf("MyConst") + 2; defOffset= code.indexOf("MyConst", offset) + 2; @@ -339,12 +339,12 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyConst"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 69); - assertEquals(((ASTNode)decl).getLength(), 7); - assertEquals(((IASTName)def).toString(), "MyConst"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 354); - assertEquals(((ASTNode)def).getLength(), 7); + assertEquals("MyConst", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(69, ((ASTNode) decl).getOffset()); + assertEquals(7, ((ASTNode) decl).getLength()); + assertEquals("MyConst", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(354, ((ASTNode) def).getOffset()); + assertEquals(7, ((ASTNode) def).getLength()); offset= code.indexOf("MyFunc") + 2; defOffset= code.indexOf("MyFunc", offset) + 2; @@ -352,12 +352,12 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyFunc"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 115); - assertEquals(((ASTNode)decl).getLength(), 6); - assertEquals(((IASTName)def).toString(), "MyFunc"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 373); - assertEquals(((ASTNode)def).getLength(), 6); + assertEquals("MyFunc", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(115, ((ASTNode) decl).getOffset()); + assertEquals(6, ((ASTNode) decl).getLength()); + assertEquals("MyFunc", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(373, ((ASTNode) def).getOffset()); + assertEquals(6, ((ASTNode) def).getLength()); offset= code.indexOf("MyStruct") + 2; defOffset= code.indexOf("MyStruct", offset) + 2; @@ -365,12 +365,12 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { decl = testF3(file, defOffset); assertTrue(def instanceof IASTName); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 171); - assertEquals(((ASTNode)decl).getLength(), 8); - assertEquals(((IASTName)def).toString(), "MyStruct"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 417); - assertEquals(((ASTNode)def).getLength(), 8); + assertEquals("MyStruct", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(417, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); + assertEquals("MyStruct", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(417, ((ASTNode) def).getOffset()); + assertEquals(8, ((ASTNode) def).getLength()); } // taken from C++ spec 3.1-3: @@ -422,164 +422,164 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("a; // defines a"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 512); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("a", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(512, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("c = 1; // defines c"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "c"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 546); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("c", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(546, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("f(int x) { return x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "f"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 567); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("f", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(567, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x) { return x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 67); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(67, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 67); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(67, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x+a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 67); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(67, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("a; } // defines f and defines x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 4); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("a", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("S { int a; int b; }; // defines S, S::a, and S::b"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "S"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 596); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("S", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(120, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("a; int b; }; // defines S, S::a, and S::b"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 128); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("a", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(128, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("b; }; // defines S, S::a, and S::b"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "b"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 135); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("b", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(135, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("X { // defines X"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 177); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("X", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("x; // defines nonstatic data member x"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 198); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(198, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); offset = code.indexOf("up, down }; // defines up and down"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "up"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 367); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("up", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(367, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("down }; // defines up and down"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "down"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 371); - assertEquals(((ASTNode)decl).getLength(), 4); + assertEquals("down", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(371, ((ASTNode) decl).getOffset()); + assertEquals(4, ((ASTNode) decl).getLength()); IASTNode def; offset = code.indexOf("X anX; // defines anX"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 177); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("X", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("anX; // defines anX"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "anX"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 481); - assertEquals(((ASTNode)decl).getLength(), 3); + assertEquals("anX", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(481, ((ASTNode) decl).getOffset()); + assertEquals(3, ((ASTNode) decl).getLength()); offset = code.indexOf("a; // declares a"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "a"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 4); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("a", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("c; // declares c"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "c"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 37); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("c", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(37, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("f(int y); // declar f"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "f"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 61); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("f", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(61, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("S; // declares S"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "S"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 120); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("S", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(120, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("Int; // declares Int"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "Int"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 625); - assertEquals(((ASTNode)decl).getLength(), 3); + assertEquals("Int", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(625, ((ASTNode) decl).getOffset()); + assertEquals(3, ((ASTNode) decl).getLength()); offset = code.indexOf("X anotherX; // declares anotherX"); //$NON-NLS-1$ def = testF3(file, offset); assertTrue(def instanceof IASTName); - assertEquals(((IASTName)def).toString(), "X"); //$NON-NLS-1$ - assertEquals(((ASTNode)def).getOffset(), 177); - assertEquals(((ASTNode)def).getLength(), 1); + assertEquals("X", ((IASTName) def).toString()); //$NON-NLS-1$ + assertEquals(177, ((ASTNode) def).getOffset()); + assertEquals(1, ((ASTNode) def).getLength()); offset = code.indexOf("anotherX; // declares anotherX"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "anotherX"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 662); - assertEquals(((ASTNode)decl).getLength(), 8); + assertEquals("anotherX", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(662, ((ASTNode) decl).getOffset()); + assertEquals(8, ((ASTNode) decl).getLength()); } public void testNoDefinitions() throws Exception { @@ -596,37 +596,37 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("a1; // declares a"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "a1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 11); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("a1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(11, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("c1; // declares c"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "c1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 46); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("c1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(46, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("f1(int); // declares f"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "f1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 68); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("f1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(68, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("S1; // declares S"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "S1"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 98); - assertEquals(((ASTNode)decl).getLength(), 2); + assertEquals("S1", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(98, ((ASTNode) decl).getOffset()); + assertEquals(2, ((ASTNode) decl).getLength()); offset = code.indexOf("Int; // declares Int"); //$NON-NLS-1$ decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "Int"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 128); - assertEquals(((ASTNode)decl).getLength(), 3); + assertEquals("Int", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(128, ((ASTNode) decl).getOffset()); + assertEquals(3, ((ASTNode) decl).getLength()); } public void testBug103697() throws Exception { @@ -642,9 +642,9 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("return x;\n") + "return ".length(); //$NON-NLS-1$ //$NON-NLS-2$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 4); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } public void testBug76043() throws Exception { @@ -662,9 +662,9 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("return x;\n") + "return ".length(); //$NON-NLS-1$ //$NON-NLS-2$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "x"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 4); - assertEquals(((ASTNode)decl).getLength(), 1); + assertEquals("x", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(4, ((ASTNode) decl).getOffset()); + assertEquals(1, ((ASTNode) decl).getLength()); } public void testBug78354() throws Exception { @@ -684,9 +684,9 @@ public class CSelectionTestsNoIndexer extends BaseUITestCase { int offset = code.indexOf("TestTypeOne myFirstLink = 5;"); //$NON-NLS-1$ IASTNode decl = testF3(file, offset); assertTrue(decl instanceof IASTName); - assertEquals(((IASTName)decl).toString(), "TestTypeOne"); //$NON-NLS-1$ - assertEquals(((ASTNode)decl).getOffset(), 12); - assertEquals(((ASTNode)decl).getLength(), 11); + assertEquals("TestTypeOne", ((IASTName) decl).toString()); //$NON-NLS-1$ + assertEquals(12, ((ASTNode) decl).getOffset()); + assertEquals(11, ((ASTNode) decl).getLength()); } // int myFunc(var) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java index 0bc737070eb..e0078d6cb52 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java @@ -52,6 +52,7 @@ import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IParameter; import org.eclipse.cdt.core.dom.ast.IProblemBinding; +import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTTemplateDeclaration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization; @@ -75,6 +76,7 @@ import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.index.IIndexFragmentName; import org.eclipse.cdt.internal.core.model.ASTCache.ASTRunnable; import org.eclipse.cdt.internal.core.model.ext.CElementHandleFactory; import org.eclipse.cdt.internal.core.model.ext.ICElementHandle; @@ -88,10 +90,8 @@ import org.eclipse.cdt.internal.ui.viewsupport.IndexUI; public class OpenDeclarationsAction extends SelectionParseAction implements ASTRunnable { public static boolean sIsJUnitTest = false; - - private static final int KIND_OTHER = 0; - private static final int KIND_USING_DECL = 1; - private static final int KIND_DEFINITION = 2; + + private enum NameKind { REFERENCE, DECLARATION, USING_DECL, DEFINITION } private class WrapperJob extends Job { WrapperJob() { @@ -158,19 +158,19 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR final IASTNodeSelector nodeSelector = ast.getNodeSelector(null); - IASTName searchName= nodeSelector.findEnclosingName(selectionStart, selectionLength); - if (searchName == null) { + IASTName sourceName= nodeSelector.findEnclosingName(selectionStart, selectionLength); + if (sourceName == null) { IASTName implicit = nodeSelector.findEnclosingImplicitName(selectionStart, selectionLength); if (implicit != null) { IASTImplicitNameOwner owner = (IASTImplicitNameOwner) implicit.getParent(); IASTImplicitName[] implicits = owner.getImplicitNames(); - // there may be more than one name in the same spot + // There may be more than one name in the same spot if (implicits.length > 0) { List allNames = new ArrayList(); for (IASTImplicitName name : implicits) { if (((ASTNode) name).getOffset() == ((ASTNode) implicit).getOffset()) { IBinding binding = name.resolveBinding(); // guaranteed to resolve - IName[] declNames = findDeclNames(ast, KIND_OTHER, binding); + IName[] declNames = findDeclNames(ast, NameKind.REFERENCE, binding); allNames.addAll(Arrays.asList(declNames)); } } @@ -180,32 +180,31 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR } } else { boolean found= false; - final IASTNode parent = searchName.getParent(); + final IASTNode parent = sourceName.getParent(); if (parent instanceof IASTPreprocessorIncludeStatement) { openInclude(((IASTPreprocessorIncludeStatement) parent)); return Status.OK_STATUS; } - IBinding binding = searchName.resolveBinding(); - int isKind= KIND_OTHER; - if (searchName.isDefinition()) { - if (binding instanceof ICPPUsingDeclaration) { - isKind= KIND_USING_DECL; - } else { - isKind= KIND_DEFINITION; - } - } + IBinding binding = sourceName.resolveBinding(); + NameKind kind = getNameKind(sourceName); if (binding != null && !(binding instanceof IProblemBinding)) { - IName[] declNames = findDeclNames(ast, isKind, binding); + if (kind == NameKind.DEFINITION && binding instanceof IType) { + // Don't navigate away from a type definition. + // Select the name at the current location instead. + navigateToName(sourceName); + return Status.OK_STATUS; + } + IName[] declNames = findDeclNames(ast, kind, binding); // Exclude the current location. for (int i = 0; i < declNames.length; i++) { - if (isSameName(declNames[i], searchName)) { + if (isSameName(declNames[i], sourceName)) { declNames[i] = null; } else if (binding instanceof IParameter) { - if (!isInSameFunction(searchName, declNames[i])) { + if (!isInSameFunction(sourceName, declNames[i])) { declNames[i] = null; } } else if (binding instanceof ICPPTemplateParameter) { - if (!isInSameTemplate(searchName, declNames[i])) { + if (!isInSameTemplate(sourceName, declNames[i])) { declNames[i] = null; } } @@ -220,59 +219,85 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR found = navigateOneLocation(declNames); } } - if (!found && !navigationFallBack(ast, searchName, isKind)) { - reportSymbolLookupFailure(new String(searchName.toCharArray())); + if (!found && !navigationFallBack(ast, sourceName, kind)) { + reportSymbolLookupFailure(new String(sourceName.toCharArray())); } return Status.OK_STATUS; } - // no enclosing name, check if we're in an include statement + // No enclosing name, check if we're in an include statement IASTNode node= nodeSelector.findEnclosingNode(selectionStart, selectionLength); if (node instanceof IASTPreprocessorIncludeStatement) { openInclude((IASTPreprocessorIncludeStatement) node); return Status.OK_STATUS; } - if (!navigationFallBack(ast, null, KIND_OTHER)) { + if (!navigationFallBack(ast, null, NameKind.REFERENCE)) { reportSelectionMatchFailure(); } return Status.OK_STATUS; } - private boolean isInSameFunction(IASTName name1, IName name2) { + private static NameKind getNameKind(IName name) { + if (name.isDefinition()) { + if (getBinding(name) instanceof ICPPUsingDeclaration) { + return NameKind.USING_DECL; + } else { + return NameKind.DEFINITION; + } + } else if (name.isDeclaration()) { + return NameKind.DECLARATION; + } + return NameKind.REFERENCE; + } + + private static IBinding getBinding(IName name) { + if (name instanceof IASTName) { + return ((IASTName) name).resolveBinding(); + } else if (name instanceof IIndexFragmentName) { + try { + return ((IIndexFragmentName) name).getBinding(); + } catch (CoreException e) { + // Fall through to return null. + } + } + return null; + } + + private static boolean isInSameFunction(IASTName name1, IName name2) { IASTDeclaration decl1 = getEnclosingDeclaration(name1); IASTDeclaration decl2 = name2 instanceof IASTName ? getEnclosingDeclaration((IASTName) name2) : null; return decl1 != null && decl1.equals(decl2) || decl1 == null && decl2 == null; } - private IASTDeclaration getEnclosingDeclaration(IASTNode node) { + private static IASTDeclaration getEnclosingDeclaration(IASTNode node) { while (node != null && !(node instanceof IASTDeclaration)) { node= node.getParent(); } return (IASTDeclaration) node; } - private boolean isInSameTemplate(IASTName name1, IName name2) { + private static boolean isInSameTemplate(IASTName name1, IName name2) { IASTDeclaration decl1 = getEnclosingTemplateDeclaration(name1); IASTDeclaration decl2 = name2 instanceof IASTName ? getEnclosingTemplateDeclaration((IASTName) name2) : null; return decl1 != null && decl1.equals(decl2) || decl1 == null && decl2 == null; } - private IASTDeclaration getEnclosingTemplateDeclaration(IASTNode node) { + private static IASTDeclaration getEnclosingTemplateDeclaration(IASTNode node) { while (node != null && !(node instanceof ICPPASTTemplateDeclaration)) { node= node.getParent(); } return (IASTDeclaration) node; } - private IName[] findDeclNames(IASTTranslationUnit ast, int isKind, IBinding binding) throws CoreException { - IName[] declNames = findNames(fIndex, ast, isKind, binding); + private IName[] findDeclNames(IASTTranslationUnit ast, NameKind kind, IBinding binding) throws CoreException { + IName[] declNames = findNames(fIndex, ast, kind, binding); if (declNames.length == 0) { if (binding instanceof ICPPSpecialization) { // bug 207320, handle template instances IBinding specialized= ((ICPPSpecialization) binding).getSpecializedBinding(); if (specialized != null && !(specialized instanceof IProblemBinding)) { - declNames = findNames(fIndex, ast, KIND_DEFINITION, specialized); + declNames = findNames(fIndex, ast, NameKind.DEFINITION, specialized); } } else if (binding instanceof ICPPMethod) { // bug 86829, handle implicit methods. @@ -281,7 +306,7 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR try { IBinding clsBinding= method.getClassOwner(); if (clsBinding != null && !(clsBinding instanceof IProblemBinding)) { - declNames= findNames(fIndex, ast, KIND_OTHER, clsBinding); + declNames= findNames(fIndex, ast, NameKind.REFERENCE, clsBinding); } } catch (DOMException e) { // don't log problem bindings. @@ -292,7 +317,7 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR return declNames; } - private boolean navigationFallBack(IASTTranslationUnit ast, IASTName sourceName, int isKind) { + private boolean navigationFallBack(IASTTranslationUnit ast, IASTName sourceName, NameKind kind) { // bug 102643, as a fall-back we look up the selected word in the index if (fSelectedText != null && fSelectedText.length() > 0) { try { @@ -319,7 +344,7 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR } } - // search the index, also + // Search the index, also final IndexFilter filter = IndexFilter.getDeclaredBindingFilter(ast.getLinkage().getLinkageID(), false); final IIndexBinding[] idxBindings = fIndex.findBindings(name, false, filter, fMonitor); for (IIndexBinding idxBinding : idxBindings) { @@ -328,7 +353,7 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR } } - // search for a macro in the index + // Search for a macro in the index IIndexMacro[] macros= fIndex.findMacros(name, filter, fMonitor); for (IIndexMacro macro : macros) { ICElement elem= IndexUI.getCElementForMacro(project, fIndex, macro); @@ -346,11 +371,11 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR if (!Arrays.equals(qualifiedName, sourceQualifiedName)) { continue; } - IName[] names = findNames(fIndex, ast, isKind, binding); + IName[] names = findNames(fIndex, ast, kind, binding); // Exclude the current location. for (int i = 0; i < names.length; i++) { - if (sourceName != null && isSameName(names[i], sourceName)) { - names[i] = null; + if (getNameKind(names[i]) == kind) { + names[i] = null; // Don' navigate to a name of the same kind. } } names = (IName[]) ArrayUtil.removeNulls(IName.class, names); @@ -505,17 +530,17 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR return null; } - private IName[] findNames(IIndex index, IASTTranslationUnit ast, int isKind, IBinding binding) throws CoreException { + private IName[] findNames(IIndex index, IASTTranslationUnit ast, NameKind kind, IBinding binding) throws CoreException { IName[] declNames; - if (isKind == KIND_DEFINITION) { + if (kind == NameKind.DEFINITION) { declNames= findDeclarations(index, ast, binding); } else { - declNames= findDefinitions(index, ast, isKind, binding); + declNames= findDefinitions(index, ast, kind, binding); } if (declNames.length == 0) { - if (isKind == KIND_DEFINITION) { - declNames= findDefinitions(index, ast, isKind, binding); + if (kind == NameKind.DEFINITION) { + declNames= findDefinitions(index, ast, kind, binding); } else { declNames= findDeclarations(index, ast, binding); } @@ -523,7 +548,7 @@ public class OpenDeclarationsAction extends SelectionParseAction implements ASTR return declNames; } - private IName[] findDefinitions(IIndex index, IASTTranslationUnit ast, int isKind, IBinding binding) throws CoreException { + private IName[] findDefinitions(IIndex index, IASTTranslationUnit ast, NameKind kind, IBinding binding) throws CoreException { List declNames= new ArrayList(); declNames.addAll(Arrays.asList(ast.getDefinitionsInAST(binding))); for (Iterator i = declNames.iterator(); i.hasNext();) {