diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/FileBasePluginTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/FileBasePluginTest.java index 57601678d90..81389f8057c 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/FileBasePluginTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/FileBasePluginTest.java @@ -8,10 +8,6 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ - -/* - * Created on Sept 28, 2004 - */ package org.eclipse.cdt.core.parser.tests; import java.io.ByteArrayInputStream; @@ -41,7 +37,7 @@ public class FileBasePluginTest extends TestCase { static IWorkspace workspace; static IProject project; static FileManager fileManager; - static int numProjects = 0; + static int numProjects; static Class className; static ICProject cPrj; @@ -52,111 +48,94 @@ public class FileBasePluginTest extends TestCase { super(name); } - private void initialize(Class aClassName){ - if( CCorePlugin.getDefault() != null && CCorePlugin.getDefault().getCoreModel() != null){ + private void initialize(Class aClassName) { + if (CCorePlugin.getDefault() != null && CCorePlugin.getDefault().getCoreModel() != null) { //(CCorePlugin.getDefault().getCoreModel().getIndexManager()).reset(); monitor = new NullProgressMonitor(); - + workspace = ResourcesPlugin.getWorkspace(); - + try { cPrj = CProjectHelper.createCCProject("ParserTestProject", "bin", IPDOMManager.ID_NO_INDEXER); //$NON-NLS-1$ //$NON-NLS-2$ project = cPrj.getProject(); - + // ugly if (className == null || !className.equals(aClassName)) { className = aClassName; numProjects++; } - } catch ( CoreException e ) { - /*boo*/ + } catch (CoreException e) { + // Ignore } if (project == null) throw new NullPointerException("Unable to create project"); //$NON-NLS-1$ - + //Create file manager fileManager = new FileManager(); } } - public FileBasePluginTest(String name, Class className) - { + public FileBasePluginTest(String name, Class className) { super(name); initialize(className); } - + public void cleanupProject() throws Exception { numProjects--; - - try{ + + try { if (numProjects == 0) { - project.delete( true, false, monitor ); + project.delete(true, false, monitor); project = null; } - } catch( Throwable e ){ - /*boo*/ + } catch (Throwable e) { + // Ignore } } @Override protected void tearDown() throws Exception { - if( project == null || !project.exists() ) + if (project == null || !project.exists()) return; - + IResource [] members = project.members(); - for( int i = 0; i < members.length; i++ ){ - if( members[i].getName().equals( ".project" ) || members[i].getName().equals( ".cproject" ) ) //$NON-NLS-1$ //$NON-NLS-2$ + for (int i = 0; i < members.length; i++) { + if (members[i].getName().equals(".project") || members[i].getName().equals(".cproject")) //$NON-NLS-1$ //$NON-NLS-2$ continue; if (members[i].getName().equals(".settings")) continue; - try{ - members[i].delete( false, monitor ); - } catch( Throwable e ){ - /*boo*/ + try { + members[i].delete(false, monitor); + } catch (Throwable e) { + // Ignore } } } - // below can be used to work with large files (too large for memory) -// protected IFile importFile(String fileName) throws Exception { -// IFile file = cPrj.getProject().getFile(fileName); -// if (!file.exists()) { -// try{ -// FileInputStream fileIn = new FileInputStream( -// CTestPlugin.getDefault().getFileInPlugin(new Path("resources/parser/" + fileName))); -// file.create(fileIn,false, monitor); -// } catch (CoreException e) { -// e.printStackTrace(); -// } catch (FileNotFoundException e) { -// e.printStackTrace(); -// } -// } -// -// return file; -// } - protected IFolder importFolder(String folderName) throws Exception { IFolder folder = project.getProject().getFolder(folderName); - - //Create file input stream - if( !folder.exists() ) - folder.create( false, false, monitor ); - + + // Create file input stream + if (!folder.exists()) + folder.create(false, false, monitor); + return folder; } - public IFile importFile(String fileName, String contents ) throws Exception{ - //Obtain file handle + + public IFile importFile(String fileName, String contents) throws Exception { + // Obtain file handle IFile file = project.getProject().getFile(fileName); - - InputStream stream = new ByteArrayInputStream( contents.getBytes() ); - //Create file input stream - if( file.exists() ) - file.setContents( stream, false, false, monitor ); - else - file.create( stream, false, monitor ); - + + InputStream stream = new ByteArrayInputStream(contents.getBytes()); + // Create file input stream + if (file.exists()) { + file.setContents(stream, false, false, monitor); + } else { + file.create(stream, false, monitor); + } + fileManager.addFile(file); - + return file; } } diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2BaseTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2BaseTest.java index 374a5014c03..f7e532c46b9 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2BaseTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2BaseTest.java @@ -124,11 +124,11 @@ public class AST2BaseTest extends BaseTestCase { public AST2BaseTest() { super(); } - + public AST2BaseTest(String name) { super(name); } - + @Override protected void setUp() throws Exception { sValidateCopy= true; @@ -138,7 +138,7 @@ public class AST2BaseTest extends BaseTestCase { protected IASTTranslationUnit parse(String code, ParserLanguage lang) throws ParserException { return parse(code, lang, false, true); } - + protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions) throws ParserException { return parse(code, lang, useGNUExtensions, true); } @@ -147,10 +147,10 @@ public class AST2BaseTest extends BaseTestCase { boolean expectNoProblems) throws ParserException { return parse(code, lang, useGNUExtensions, expectNoProblems, false); } - + protected IASTTranslationUnit parse(String code, ParserLanguage lang, boolean useGNUExtensions, boolean expectNoProblems, boolean skipTrivialInitializers) throws ParserException { - IScanner scanner = createScanner(FileContent.create(TEST_CODE, code.toCharArray()), lang, ParserMode.COMPLETE_PARSE, + IScanner scanner = createScanner(FileContent.create(TEST_CODE, code.toCharArray()), lang, ParserMode.COMPLETE_PARSE, createScannerInfo(useGNUExtensions)); configureScanner(scanner); AbstractGNUSourceCodeParser parser = null; @@ -170,12 +170,12 @@ public class AST2BaseTest extends BaseTestCase { } else { config = new ANSICParserExtensionConfiguration(); } - + parser = new GNUCSourceParser(scanner, ParserMode.COMPLETE_PARSE, NULL_LOG, config, null); } if (skipTrivialInitializers) parser.setSkipTrivialExpressionsInAggregateInitializers(true); - + IASTTranslationUnit tu = parser.parse(); assertTrue(tu.isFrozen()); if (sValidateCopy) @@ -183,7 +183,7 @@ public class AST2BaseTest extends BaseTestCase { if (parser.encounteredError() && expectNoProblems) throw new ParserException("FAILURE"); //$NON-NLS-1$ - + if (lang == ParserLanguage.C && expectNoProblems) { assertEquals(CVisitor.getProblems(tu).length, 0); assertEquals(tu.getPreprocessorProblems().length, 0); @@ -193,7 +193,7 @@ public class AST2BaseTest extends BaseTestCase { } if (expectNoProblems) assertEquals(0, tu.getPreprocessorProblems().length); - + return tu; } @@ -215,7 +215,7 @@ public class AST2BaseTest extends BaseTestCase { configuration= GPPScannerExtensionConfiguration.getInstance(scannerInfo); } IScanner scanner; - scanner= new CPreprocessor(codeReader, scannerInfo, lang, NULL_LOG, configuration, + scanner= new CPreprocessor(codeReader, scannerInfo, lang, NULL_LOG, configuration, IncludeFileContentProvider.getSavedFilesProvider()); return scanner; } @@ -263,7 +263,7 @@ public class AST2BaseTest extends BaseTestCase { } protected void validateSimpleBinaryExpressionC(String code, int operand) throws ParserException { - IASTBinaryExpression e = (IASTBinaryExpression) getExpressionFromStatementInCode(code, ParserLanguage.C); + IASTBinaryExpression e = (IASTBinaryExpression) getExpressionFromStatementInCode(code, ParserLanguage.C); assertNotNull(e); assertEquals(e.getOperator(), operand); IASTIdExpression x = (IASTIdExpression) e.getOperand1(); @@ -290,8 +290,8 @@ public class AST2BaseTest extends BaseTestCase { ASTComparer.assertCopy(tu, copy); return (T) copy; } - - + + static protected class CNameCollector extends ASTVisitor { { shouldVisitNames = true; @@ -309,22 +309,22 @@ public class AST2BaseTest extends BaseTestCase { return null; return nameList.get(idx); } - + public int size() { return nameList.size(); - } + } } protected void assertInstances(CNameCollector collector, IBinding binding, int num) throws Exception { int count = 0; - + assertNotNull(binding); - + for (int i = 0; i < collector.size(); i++) { if (collector.getName(i).resolveBinding() == binding) count++; } - + assertEquals(count, num); } @@ -332,12 +332,12 @@ public class AST2BaseTest extends BaseTestCase { public CPPNameCollector() { this(false); // don't visit implicit names by default } - + public CPPNameCollector(boolean shouldVisitImplicitNames) { this.shouldVisitNames = true; this.shouldVisitImplicitNames = shouldVisitImplicitNames; } - + public List nameList = new ArrayList(); @Override @@ -355,7 +355,7 @@ public class AST2BaseTest extends BaseTestCase { public int size() { return nameList.size(); } - + public void dump() { for (int i= 0; i < size(); i++) { IASTName name= getName(i); @@ -371,7 +371,7 @@ public class AST2BaseTest extends BaseTestCase { if (collector.getName(i).resolveBinding() == binding) count++; } - + assertEquals(num, count); } @@ -392,42 +392,42 @@ public class AST2BaseTest extends BaseTestCase { String expressionString = ASTStringUtil.getExpressionString(exp); assertEquals(str, expressionString); } - + protected void isParameterSignatureEqual(IASTDeclarator decltor, String str) { assertTrue(decltor instanceof IASTFunctionDeclarator); final String[] sigArray = ASTStringUtil.getParameterSignatureArray((IASTFunctionDeclarator) decltor); assertEquals(str, "(" + ASTStringUtil.join(sigArray, ", ") + ")"); } - + protected void isSignatureEqual(IASTDeclarator declarator, String expected) { String signature= ASTStringUtil.getSignatureString(declarator); assertEquals(expected, signature); } - + protected void isSignatureEqual(IASTDeclSpecifier declSpec, String str) { assertEquals(str, ASTStringUtil.getSignatureString(declSpec, null)); } - + protected void isSignatureEqual(IASTTypeId typeId, String str) { assertEquals(str, ASTStringUtil.getSignatureString(typeId.getDeclSpecifier(), typeId.getAbstractDeclarator())); } - + protected void isTypeEqual(IASTDeclarator decltor, String str) { assertEquals(str, ASTTypeUtil.getType(decltor)); } - + protected void isTypeEqual(IASTTypeId typeId, String str) { assertEquals(str, ASTTypeUtil.getType(typeId)); } - + protected void isTypeEqual(IType type, String str) { assertEquals(str, ASTTypeUtil.getType(type)); } - + protected void isParameterTypeEqual(IFunctionType fType, String str) { assertEquals(str, ASTTypeUtil.getParameterTypeString(fType)); } - + static protected class CNameResolver extends ASTVisitor { { shouldVisitNames = true; @@ -455,9 +455,9 @@ public class AST2BaseTest extends BaseTestCase { public int size() { return nameList.size(); - } + } } - + static protected class CPPNameResolver extends ASTVisitor { { shouldVisitNames = true; @@ -485,13 +485,13 @@ public class AST2BaseTest extends BaseTestCase { public int size() { return nameList.size(); - } + } } - + protected String getAboveComment() throws IOException { return getContents(1)[0].toString(); } - + protected CharSequence[] getContents(int sections) throws IOException { CTestPlugin plugin = CTestPlugin.getDefault(); if (plugin == null) @@ -508,14 +508,14 @@ public class AST2BaseTest extends BaseTestCase { } return clazz.cast(o); } - + protected static void assertField(IBinding binding, String fieldName, String ownerName) { assertInstance(binding, IField.class); assertEquals(fieldName, binding.getName()); ICompositeType struct = ((IField) binding).getCompositeTypeOwner(); assertEquals(ownerName, struct.getName()); } - + protected class BindingAssertionHelper { protected IASTTranslationUnit tu; protected String contents; @@ -568,7 +568,7 @@ public class AST2BaseTest extends BaseTestCase { IBinding binding= binding(section, len); if (binding instanceof IProblemBinding) { IProblemBinding problem= (IProblemBinding) binding; - fail("ProblemBinding for name: " + section.substring(0, len) + " (" + renderProblemID(problem.getID()) + ")"); + fail("ProblemBinding for name: " + section.substring(0, len) + " (" + renderProblemID(problem.getID()) + ")"); } if (binding == null) { fail("Null binding resolved for name: " + section.substring(0, len)); @@ -617,12 +617,12 @@ public class AST2BaseTest extends BaseTestCase { IASTName name = findImplicitName(section, len); final String selection = section.substring(0, len); assertNotNull("did not find \"" + selection + "\"", name); - + assertInstance(name, IASTImplicitName.class); IASTImplicitNameOwner owner = (IASTImplicitNameOwner) name.getParent(); IASTImplicitName[] implicits = owner.getImplicitNames(); assertNotNull(implicits); - + if (implicits.length > 1) { boolean found = false; for (IASTImplicitName n : implicits) { @@ -633,34 +633,34 @@ public class AST2BaseTest extends BaseTestCase { } assertTrue(found); } - + assertEquals(selection, name.getRawSignature()); IBinding binding = name.resolveBinding(); assertNotNull(binding); assertInstance(binding, bindingClass); return (IASTImplicitName) name; } - + public void assertNoImplicitName(String section, int len) { IASTName name = findImplicitName(section, len); final String selection = section.substring(0, len); assertNull("found name \"" + selection + "\"", name); } - + public IASTImplicitName[] getImplicitNames(String section, int len) { IASTName name = findImplicitName(section, len); IASTImplicitNameOwner owner = (IASTImplicitNameOwner) name.getParent(); IASTImplicitName[] implicits = owner.getImplicitNames(); return implicits; } - + public IASTName findName(String section, int len) { final int offset = contents.indexOf(section); assertTrue("Section \"" + section + "\" not found", offset >= 0); IASTNodeSelector selector = tu.getNodeSelector(null); return selector.findName(offset, len); } - + public IASTName findName(String context, String name) { if (context == null) { context = contents; @@ -718,7 +718,7 @@ public class AST2BaseTest extends BaseTestCase { } return "Unknown problem ID"; } - + public T assertNonProblem(String section, int len, Class... cs) { if (len <= 0) len += section.length(); @@ -750,10 +750,10 @@ public class AST2BaseTest extends BaseTestCase { final String selection = section.substring(0, len); assertNotNull("No AST name for \"" + selection + "\"", astName); assertEquals(selection, astName.getRawSignature()); - + IBinding binding = astName.resolveBinding(); assertNotNull("No binding for " + astName.getRawSignature(), binding); - + return astName.resolveBinding(); } @@ -761,10 +761,10 @@ public class AST2BaseTest extends BaseTestCase { IASTName astName = findName(context, name); assertNotNull("No AST name for \"" + name + "\"", astName); assertEquals(name, astName.getRawSignature()); - + IBinding binding = astName.resolveBinding(); assertNotNull("No binding for " + astName.getRawSignature(), binding); - + return astName.resolveBinding(); } } @@ -776,10 +776,10 @@ public class AST2BaseTest extends BaseTestCase { final protected IASTTranslationUnit parseAndCheckBindings(String code, ParserLanguage lang, boolean useGnuExtensions) throws Exception { return parseAndCheckBindings(code, lang, useGnuExtensions, false); } - + final protected IASTTranslationUnit parseAndCheckBindings(String code, ParserLanguage lang, boolean useGnuExtensions, boolean skipTrivialInitializers) throws Exception { - IASTTranslationUnit tu = parse(code, lang, useGnuExtensions, true, skipTrivialInitializers); + IASTTranslationUnit tu = parse(code, lang, useGnuExtensions, true, skipTrivialInitializers); CNameCollector col = new CNameCollector(); tu.accept(col); assertNoProblemBindings(col); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPImplicitNameTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPImplicitNameTests.java index 2095a9e4b25..d73040b5422 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPImplicitNameTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPImplicitNameTests.java @@ -33,15 +33,15 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { public AST2CPPImplicitNameTests() { } - + public AST2CPPImplicitNameTests(String name) { super(name); } - + public static TestSuite suite() { return suite(AST2CPPImplicitNameTests.class); } - + public IASTImplicitName[] getImplicitNames(IASTTranslationUnit tu, String contents, String section, int len) { final int offset = contents.indexOf(section); assertTrue(offset >= 0); @@ -76,25 +76,25 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { CPPNameCollector col = new CPPNameCollector(); tu.accept(col); IASTImplicitName n; - + n = ba.assertImplicitName("+= 5", 2, ICPPMethod.class); assertSame(n.resolveBinding(), col.getName(14).resolveBinding()); - + n = ba.assertImplicitName("+ p", 1, ICPPMethod.class); assertSame(n.resolveBinding(), col.getName(4).resolveBinding()); - + n = ba.assertImplicitName("- p", 1, ICPPMethod.class); assertSame(n.resolveBinding(), col.getName(8).resolveBinding()); - + n = ba.assertImplicitName("* p", 1, ICPPFunction.class); assertSame(n.resolveBinding(), col.getName(17).resolveBinding()); - + n = ba.assertImplicitName("/ p", 1, ICPPFunction.class); assertSame(n.resolveBinding(), col.getName(23).resolveBinding()); - + n = ba.assertImplicitName("-p;", 1, ICPPMethod.class); assertSame(n.resolveBinding(), col.getName(12).resolveBinding()); - + ba.assertNoImplicitName("<< 6", 2); ba.assertNoImplicitName("+p;", 1); } @@ -137,9 +137,9 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { IASTTranslationUnit tu = ba.getTranslationUnit(); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + ba.assertNoImplicitName("&Y::x;", 1); - + IASTImplicitName n = ba.assertImplicitName("&y;", 1, ICPPFunction.class); assertSame(n.resolveBinding(), col.getName(9).resolveBinding()); } @@ -166,20 +166,20 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { // p2->doA(); // } public void testArrowOperator() throws Exception { - String contents = getAboveComment(); + String contents = getAboveComment(); IASTTranslationUnit tu = parse(contents, ParserLanguage.CPP); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + IASTImplicitName[] implicits = getImplicitNames(tu, contents, "->doA();", 2); - + assertNotNull(implicits); assertEquals(2, implicits.length); - + assertSame(implicits[1].getBinding(), col.getName(4).resolveBinding()); assertSame(implicits[0].getBinding(), col.getName(12).resolveBinding()); } - + // struct A { // int x; // }; @@ -225,15 +225,15 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { ba.assertNoImplicitName(", b, c, d); // func", 1); ba.assertNoImplicitName(", c, d); // func", 1); ba.assertNoImplicitName(", d); // func", 1); - + IASTImplicitName opAB = ba.assertImplicitName(", b, c, d; // expr", 1, ICPPFunction.class); IASTImplicitName opCC = ba.assertImplicitName(", c, d; // expr", 1, ICPPFunction.class); ba.assertNoImplicitName(", d; // expr", 1); - + IASTTranslationUnit tu = ba.getTranslationUnit(); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + assertSame(opAB.resolveBinding(), col.getName(5).resolveBinding()); assertSame(opCC.resolveBinding(), col.getName(11).resolveBinding()); } @@ -256,20 +256,20 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { // } public void testCommaOperator2() throws Exception { BindingAssertionHelper ba = new BindingAssertionHelper(getAboveComment(), true); - + IASTImplicitName opAB = ba.assertImplicitName(", b, c, d", 1, ICPPMethod.class); IASTImplicitName opCC = ba.assertImplicitName(", c, d", 1, ICPPFunction.class); IASTImplicitName opDD = ba.assertImplicitName(", d", 1, ICPPMethod.class); - + IASTTranslationUnit tu = ba.getTranslationUnit(); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + // 6, 11, 15 assertSame(opAB.resolveBinding(), col.getName(6).resolveBinding()); assertSame(opCC.resolveBinding(), col.getName(15).resolveBinding()); assertSame(opDD.resolveBinding(), col.getName(11).resolveBinding()); - + ba.assertNonProblem("ee;", 2); } @@ -290,7 +290,7 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { IASTTranslationUnit tu = ba.getTranslationUnit(); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + IASTImplicitName n1 = ba.assertImplicitName("(b); // 1", 1, ICPPMethod.class); IASTImplicitName n2 = ba.assertImplicitName("); // 1", 1, ICPPMethod.class); assertSame(n1.resolveBinding(), n2.resolveBinding()); @@ -299,14 +299,14 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { // there should be no overlap ba.assertNoImplicitName("b); // 1", 1); assertSame(col.getName(1).resolveBinding(), n1.resolveBinding()); - + n1 = ba.assertImplicitName("(); // 2", 1, ICPPMethod.class); n2 = ba.assertImplicitName("); // 2", 1, ICPPMethod.class); assertSame(n1.resolveBinding(), n2.resolveBinding()); assertFalse(n1.isAlternate()); assertTrue(n2.isAlternate()); assertSame(col.getName(3).resolveBinding(), n1.resolveBinding()); - + n1 = ba.assertImplicitName("(1, 2); // 3", 1, ICPPMethod.class); n2 = ba.assertImplicitName("); // 3", 1, ICPPMethod.class); assertSame(n1.resolveBinding(), n2.resolveBinding()); @@ -349,7 +349,7 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { IASTTranslationUnit tu = ba.getTranslationUnit(); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + IASTImplicitName n1 = ba.assertImplicitName("[0]); //1", 1, ICPPMethod.class); ba.assertNoImplicitName("0]); //1", 1); IASTImplicitName n2 = ba.assertImplicitName("]); //1", 1, ICPPMethod.class); @@ -357,7 +357,7 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { assertFalse(n1.isAlternate()); assertTrue(n2.isAlternate()); assertSame(col.getName(1).resolveBinding(), n1.resolveBinding()); - + n1 = ba.assertImplicitName("[q]); //2", 1, ICPPMethod.class); ba.assertNoImplicitName("q]); //2", 1); n2 = ba.assertImplicitName("]); //2", 1, ICPPMethod.class); @@ -385,21 +385,21 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { assertEquals(2, names.length); IASTImplicitName destructor = names[0]; IASTImplicitName delete = names[1]; - + IASTTranslationUnit tu = ba.getTranslationUnit(); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); - + assertSame(col.getName(1).resolveBinding(), destructor.resolveBinding()); assertSame(col.getName(2).resolveBinding(), delete.resolveBinding()); - + names = ba.getImplicitNames("delete[] x;", 6); assertEquals(1, names.length); assertSame(col.getName(4).resolveBinding(), names[0].resolveBinding()); - + ba.assertNoImplicitName("delete 1;", 6); } - + // struct A { // void operator delete(void * a); // }; @@ -417,15 +417,15 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { BindingAssertionHelper bh= new BindingAssertionHelper(getAboveComment(), true); IBinding m= bh.assertNonProblem("operator delete(void * a)", 15); IBinding f= bh.assertNonProblem("operator delete(void * b)", 15); - + IASTImplicitName[] names = bh.getImplicitNames("delete a;", 6); - assertEquals(2, names.length); + assertEquals(2, names.length); assertTrue(((ICPPMethod) names[0].resolveBinding()).isDestructor()); assertSame(m, names[1].resolveBinding()); names = bh.getImplicitNames("delete b;", 6); assertTrue(((ICPPMethod) names[0].resolveBinding()).isDestructor()); - assertEquals(2, names.length); + assertEquals(2, names.length); assertSame(f, names[1].resolveBinding()); } @@ -444,7 +444,7 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { BindingAssertionHelper bh= new BindingAssertionHelper(getAboveComment(), true); IBinding m= bh.assertNonProblem("operator new(size_t a)", 12); IBinding f= bh.assertNonProblem("operator new(size_t b)", 12); - + IASTImplicitName[] names = bh.getImplicitNames("new A;", 3); assertEquals(2, names.length); assertSame(m, names[0].resolveBinding()); @@ -462,9 +462,9 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { public void testImplicitNewAndDelete() throws Exception { BindingAssertionHelper ba = new BindingAssertionHelper(getAboveComment(), true); ba.assertNoImplicitName("new X", 3); - ba.assertNoImplicitName("delete[]", 6); + ba.assertNoImplicitName("delete[]", 6); } - + // typedef long unsigned int size_t // struct nothrow_t {}; // extern const nothrow_t nothrow; @@ -492,7 +492,7 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { assertSame(col.getName(9).resolveBinding(), n2.resolveBinding()); assertSame(col.getName(14).resolveBinding(), n3.resolveBinding()); } - + // int test() { // throw; // } @@ -552,7 +552,7 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { IASTImplicitName v = ba.assertImplicitName("v(p)", 1, ICPPConstructor.class); assertSame(ctor1, v.resolveBinding()); } - + // enum A {aa}; // struct B{ operator A();}; // bool operator==(A, A); // overrides the built-in operator. @@ -568,5 +568,5 @@ public class AST2CPPImplicitNameTests extends AST2BaseTest { ICPPFunction op = ba.assertNonProblem("operator==", 0); IASTImplicitName a = ba.assertImplicitName("==b", 2, ICPPFunction.class); assertSame(op, a.resolveBinding()); - } + } } diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java index 6b0c3082484..a369089ea8e 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java @@ -260,7 +260,7 @@ public class AST2CPPTests extends AST2BaseTest { assertEquals(declNames.length, i); assertEquals(defNames.length, j); } - + @Override protected void assertSameType(IType first, IType second){ assertNotNull(first); @@ -8397,7 +8397,7 @@ public class AST2CPPTests extends AST2BaseTest { // TODO(nathanridge): Perhaps we should store implicit names even if they // resolve to ProblemBindings. Then we can do the stronger check in the // 3 commented lines below. - //IASTImplicitName n= bh.assertImplicitName("H({1})", 1, IProblemBinding.class); + //IASTImplicitName n= bh.assertImplicitName("H({1})", 1, IProblemBinding.class); //problem= (IProblemBinding) n.resolveBinding(); //assertEquals(IProblemBinding.SEMANTIC_AMBIGUOUS_LOOKUP, problem.getID()); bh.assertProblem("fH(1)", 2); @@ -9827,7 +9827,7 @@ public class AST2CPPTests extends AST2BaseTest { } // struct Base { - // virtual void mFuncDecl(); + // virtual void mFuncDecl(); // virtual void mFuncDef(){} // }; // struct S : public Base { @@ -9855,9 +9855,9 @@ public class AST2CPPTests extends AST2BaseTest { assertInstance(declarator, ICPPASTFunctionDeclarator.class); assertVirtualSpecifiers((ICPPASTFunctionDeclarator)declarator, true, false); } - + // struct Base { - // virtual void mFuncDecl(); + // virtual void mFuncDecl(); // virtual void mFuncDef(){} // }; // struct S : public Base { @@ -10029,7 +10029,7 @@ public class AST2CPPTests extends AST2BaseTest { // double vdouble; // long double vlongdouble; // UnscopedEnum vue; - // + // // // Narrowing conversions // fint({vdouble}); // ffloat({vlongdouble}); @@ -10087,7 +10087,7 @@ public class AST2CPPTests extends AST2BaseTest { helper.assertNonProblemOnFirstIdentifier("fint({vbool"); helper.assertNonProblemOnFirstIdentifier("fint({vchar"); } - + // namespace std { // struct string {}; // struct exception {}; diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2FileBasePluginTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2FileBasePluginTest.java index 8aa20c65a32..83486231a38 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2FileBasePluginTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2FileBasePluginTest.java @@ -8,10 +8,6 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ - -/* - * Created on Sept 28, 2004 - */ package org.eclipse.cdt.core.parser.tests.ast2; import java.io.ByteArrayInputStream; @@ -44,7 +40,7 @@ public class AST2FileBasePluginTest extends TestCase { static IWorkspace workspace; static IProject project; static FileManager fileManager; - static int numProjects = 0; + static int numProjects; static Class className; static ICProject cPrj; @@ -55,100 +51,100 @@ public class AST2FileBasePluginTest extends TestCase { super(name); } - private void initialize(Class aClassName){ - if( CCorePlugin.getDefault() != null && CCorePlugin.getDefault().getCoreModel() != null){ + private void initialize(Class aClassName) { + if (CCorePlugin.getDefault() != null && CCorePlugin.getDefault().getCoreModel() != null) { //(CCorePlugin.getDefault().getCoreModel().getIndexManager()).reset(); monitor = new NullProgressMonitor(); - + workspace = ResourcesPlugin.getWorkspace(); - + try { cPrj = CProjectHelper.createCCProject("AST2BasedProjectMofo", "bin", IPDOMManager.ID_NO_INDEXER); //$NON-NLS-1$ //$NON-NLS-2$ - + project = cPrj.getProject(); - + // ugly if (className == null || !className.equals(aClassName)) { className = aClassName; numProjects++; } - } catch ( CoreException e ) { - /*boo*/ + } catch (CoreException e) { + // Ignore } if (project == null) throw new NullPointerException("Unable to create project"); //$NON-NLS-1$ - - //Create file manager + + // Create file manager fileManager = new FileManager(); } } - public AST2FileBasePluginTest(String name, Class className) - { + public AST2FileBasePluginTest(String name, Class className) { super(name); initialize(className); } - + public void cleanupProject() throws Exception { numProjects--; - - try{ + + try { if (numProjects == 0) { - project.delete( true, false, monitor ); + project.delete(true, false, monitor); project = null; } - } catch( Throwable e ){ - /*boo*/ + } catch (Throwable e) { + // Ignore } } @Override protected void tearDown() throws Exception { - if( project == null || !project.exists() ) + if (project == null || !project.exists()) return; - - IResource [] members = project.members(); - for( int i = 0; i < members.length; i++ ){ - if( members[i].getName().equals( ".project" ) || members[i].getName().equals( ".cproject" ) ) //$NON-NLS-1$ //$NON-NLS-2$ + + IResource[] members = project.members(); + for (int i = 0; i < members.length; i++) { + if (members[i].getName().equals(".project") || members[i].getName().equals(".cproject")) //$NON-NLS-1$ //$NON-NLS-2$ continue; if (members[i].getName().equals(".settings")) continue; - try{ - members[i].delete( false, monitor ); - } catch( Throwable e ){ - /*boo*/ + try { + members[i].delete(false, monitor); + } catch (Throwable e) { + // Ignore } } } protected IFolder importFolder(String folderName) throws Exception { IFolder folder = project.getProject().getFolder(folderName); - - //Create file input stream - if( !folder.exists() ) - folder.create( false, false, monitor ); - + + // Create file input stream + if (!folder.exists()) + folder.create(false, false, monitor); + return folder; } - public IFile importFile(String fileName, String contents ) throws Exception{ - //Obtain file handle + + public IFile importFile(String fileName, String contents) throws Exception { + // Obtain file handle IFile file = project.getProject().getFile(fileName); - - InputStream stream = new ByteArrayInputStream( contents.getBytes() ); - //Create file input stream - if( file.exists() ) - file.setContents( stream, false, false, monitor ); - else - file.create( stream, false, monitor ); - + + InputStream stream = new ByteArrayInputStream(contents.getBytes()); + // Create file input stream + if (file.exists()) { + file.setContents(stream, false, false, monitor); + } else { + file.create(stream, false, monitor); + } + fileManager.addFile(file); - + return file; } - + protected StringBuilder[] getContents(int sections) throws IOException { return TestSourceReader.getContentsForTest( CTestPlugin.getDefault().getBundle(), "parser", getClass(), getName(), sections); } - } diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java index cb6cd028342..64c80b39a55 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2TemplateTests.java @@ -6221,24 +6221,24 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testSimpleAliasDeclaration() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); - + ICPPClassType S = assertionHelper.assertNonProblem("struct S {", "S", ICPPClassType.class); ICPPField x = assertionHelper.assertNonProblem("int x", "x", ICPPField.class); ITypedef Alias = assertionHelper.assertNonProblem("using Alias = S", "Alias", ITypedef.class); IFunction foo = assertionHelper.assertNonProblem("void foo() {", "foo", IFunction.class); IVariable myA = assertionHelper.assertNonProblem("Alias myA", "myA", IVariable.class); - - + + assertInstances(collector, S, 2); assertInstances(collector, x, 2); assertInstances(collector, Alias, 2); assertInstances(collector, foo, 1); assertInstances(collector, myA, 2); } - + // template // struct S { // T x; @@ -6250,7 +6250,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testSpecifiedTemplateAliasDeclaration() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); @@ -6259,7 +6259,7 @@ public class AST2TemplateTests extends AST2BaseTest { ITypedef Alias = assertionHelper.assertNonProblem("using Alias = S;", "Alias", ITypedef.class); IVariable myA = assertionHelper.assertNonProblem("Alias myA;", "myA", IVariable.class); ICPPSpecialization xRef = assertionHelper.assertNonProblem("myA.x = 42;", "x", ICPPSpecialization.class); - + assertInstances(collector, S, 2); assertInstances(collector, Alias, 2); @@ -6275,13 +6275,13 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasBasicType() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); - + ICPPAliasTemplate Alias = assertionHelper.assertNonProblem("using Alias = int;", "Alias", ICPPAliasTemplate.class); ICPPAliasTemplateInstance aliasFloatInstance = assertionHelper.assertNonProblem("Alias myA;", "Alias", ICPPAliasTemplateInstance.class); - + assertInstances(collector, Alias, 2); assertSameType(aliasFloatInstance, new CPPBasicType(IBasicType.Kind.eInt, 0)); } @@ -6298,7 +6298,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasDeclaration() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); @@ -6336,9 +6336,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasDeclarationMultipleParameters() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPField t1 = assertionHelper.assertNonProblem("T1 t1;", "t1", ICPPField.class); ICPPField t2 = assertionHelper.assertNonProblem("T2 t2;", "t2", ICPPField.class); ICPPField t3 = assertionHelper.assertNonProblem("T3 t3;", "t3", ICPPField.class); @@ -6379,9 +6379,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasDeclarationTemplateArgument() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPField t = assertionHelper.assertNonProblem("T t;", "t", ICPPField.class); ICPPAliasTemplateInstance TAliasSInt = assertionHelper.assertNonProblem("TAlias> myA;", "TAlias>", ICPPAliasTemplateInstance.class); ICPPSpecialization tRef = assertionHelper.assertNonProblem("myA.t = S()", "t", ICPPSpecialization.class); @@ -6402,9 +6402,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasAsTemplateArgument() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPField t = assertionHelper.assertNonProblem("T t;", "t", ICPPField.class); ICPPTemplateInstance STAliasInt = assertionHelper.assertNonProblem("S> myA;", "S>", ICPPTemplateInstance.class); ICPPSpecialization tRef = assertionHelper.assertNonProblem("myA.t = S();", "t", ICPPSpecialization.class); @@ -6425,9 +6425,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasDeclarationValueArgument() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPField buff = assertionHelper.assertNonProblem("int buff [Size];", "buff", ICPPField.class); ICPPSpecialization buffRef = assertionHelper.assertNonProblem("myA.buff[0] = 1;", "buff", ICPPSpecialization.class); @@ -6448,9 +6448,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasDefaultArguments() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPField buff = assertionHelper.assertNonProblem("T buff [Size];", "buff", ICPPField.class); ICPPAliasTemplateInstance myA = assertionHelper.assertNonProblem("TAlias<> myA;", "TAlias<>", ICPPAliasTemplateInstance.class); ICPPSpecialization buffRef = assertionHelper.assertNonProblem("myA.buff[0] = 1;", "buff", ICPPSpecialization.class); @@ -6472,9 +6472,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasTemplateArgument() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPField t = assertionHelper.assertNonProblem("T t;", "t", ICPPField.class); ICPPSpecialization tRef = assertionHelper.assertNonProblem(" myA.t = S();", "t", ICPPSpecialization.class); ICPPClassSpecialization Sint = assertionHelper.assertNonProblem("myA.t = S();", "S", ICPPClassSpecialization.class); @@ -6499,9 +6499,9 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasAsFunctionParameter() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - + ICPPFunction bar = assertionHelper.assertNonProblem("void bar(TAlias arg){", "bar", ICPPFunction.class); ICPPFunction barRefAlias = assertionHelper.assertNonProblem("bar(myA);", "bar", ICPPFunction.class); ICPPFunction barRefSInt = assertionHelper.assertNonProblem("bar(myS);", "bar", ICPPFunction.class); @@ -6524,7 +6524,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasAsFunctionArgument() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); ICPPFunction bar = assertionHelper.assertNonProblem("void bar(S arg){", "bar", ICPPFunction.class); @@ -6573,7 +6573,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testSimpleFunctionAliasDeclaration() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); @@ -6598,7 +6598,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasForTemplateReference() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); ICPPClassSpecialization SInt = assertionHelper.assertNonProblem("S myS;", "S", ICPPClassSpecialization.class); @@ -6614,7 +6614,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testSimpleFunctionTemplateAliasDeclaration() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); @@ -6634,7 +6634,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testSimpleFunctionReferenceTemplateAliasDeclaration() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); CPPNameCollector collector = getCPPNameCollector(assertionHelper.getTranslationUnit()); @@ -6659,7 +6659,7 @@ public class AST2TemplateTests extends AST2BaseTest { // } public void testTemplatedAliasTemplateParameter() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); ICPPField t = assertionHelper.assertNonProblem("T t;", "t", ICPPField.class); @@ -6682,10 +6682,11 @@ public class AST2TemplateTests extends AST2BaseTest { // Alias intAlias; public void testAliasDeclarationContext() throws Exception { parseAndCheckBindings(); - + BindingAssertionHelper assertionHelper = getAssertionHelper(); - ICPPAliasTemplateInstance AliasInt = assertionHelper.assertNonProblem("Alias intAlias;", "Alias", ICPPAliasTemplateInstance.class); + ICPPAliasTemplateInstance AliasInt = + assertionHelper.assertNonProblem("Alias intAlias;", "Alias", ICPPAliasTemplateInstance.class); assertEquals("Alias", AliasInt.getName()); assertEquals("NS", AliasInt.getQualifiedName()[0]); assertEquals("Alias", AliasInt.getQualifiedName()[1]); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/CompleteParser2Tests.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/CompleteParser2Tests.java index e8474a74621..8ed4bb367a9 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/CompleteParser2Tests.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/CompleteParser2Tests.java @@ -6,9 +6,9 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * IBM - Initial API and implementation - * Markus Schorn (Wind River Systems) - * Nathan Ridge + * IBM - Initial API and implementation + * Markus Schorn (Wind River Systems) + * Nathan Ridge *******************************************************************************/ package org.eclipse.cdt.core.parser.tests.ast2; @@ -755,7 +755,7 @@ public class CompleteParser2Tests extends BaseTestCase { } public void testConstructorChain() throws Exception { - IASTTranslationUnit tu = parse("int x = 5;\n class A \n{ public : \n int a; \n A() : a(x) { } };"); + IASTTranslationUnit tu = parse("int x = 5;\n class A \n{ public : \n int a; \n A() : a(x) { } };"); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); @@ -1058,7 +1058,7 @@ public class CompleteParser2Tests extends BaseTestCase { } public void testScoping() throws Exception { - IASTTranslationUnit tu = parse("void foo() { int x = 3; if (x == 1) { int x = 4; } else int x = 2; }"); + IASTTranslationUnit tu = parse("void foo() { int x = 3; if (x == 1) { int x = 4; } else int x = 2; }"); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); @@ -1103,7 +1103,7 @@ public class CompleteParser2Tests extends BaseTestCase { } public void testBug42872() throws Exception { - IASTTranslationUnit tu = parse("struct B {}; struct D : B {}; void foo(D* dp) { B* bp = dynamic_cast(dp); }"); + IASTTranslationUnit tu = parse("struct B {}; struct D : B {}; void foo(D* dp) { B* bp = dynamic_cast(dp); }"); CPPNameCollector col = new CPPNameCollector(); tu.accept(col); @@ -1293,7 +1293,7 @@ public class CompleteParser2Tests extends BaseTestCase { public void testCDesignatedInitializers() throws Exception { StringBuffer buffer = new StringBuffer(); - buffer.append("struct Inner { int a,b,c; };"); + buffer.append("struct Inner { int a,b,c; };"); buffer.append("struct A { int x; int y[]; struct Inner innerArray[]; int z[]; };"); buffer.append("struct A myA = { .x = 4, .y[3] = 4, .y[4] = 3, .innerArray[0].a = 3, .innerArray[1].b = 5, .innerArray[2].c=6, .z = { 1,4,5} };"); parse(buffer.toString(), true, ParserLanguage.C); @@ -1319,7 +1319,7 @@ public class CompleteParser2Tests extends BaseTestCase { " _Bool b; " + " f(b);" + " f(g((_Bool) 1) );" + - "}", + "}", true, ParserLanguage.C); } @@ -1342,7 +1342,7 @@ public class CompleteParser2Tests extends BaseTestCase { public void testBug44925() throws Exception { StringBuffer buffer = new StringBuffer(); - buffer.append("class MyClass { };"); + buffer.append("class MyClass { };"); buffer.append("class MyClass myObj1;"); buffer.append("enum MyEnum { Item1 };"); buffer.append("enum MyEnum myObj2;"); @@ -1999,7 +1999,7 @@ public class CompleteParser2Tests extends BaseTestCase { writer.write("int main(int argc, char **argv) {\n"); writer.write("FILE * file = 0;\n"); writer.write("static_function(file);\n"); - writer.write("return 0;\n"); + writer.write("return 0;\n"); writer.write("}\n"); parse(writer.toString()); } @@ -2051,8 +2051,8 @@ public class CompleteParser2Tests extends BaseTestCase { writer.write("};\n"); writer.write("\n"); writer.write("template\n"); - writer.write("inline T526026< T >\n"); - writer.write("operator+(typename T526026::diff d, const T526026 & x)\n"); + writer.write("inline T526026< T >\n"); + writer.write("operator+(typename T526026::diff d, const T526026 & x)\n"); writer.write("{ return T526026< T >(); }\n"); writer.write("}\n"); parse(writer.toString(), false); @@ -2060,7 +2060,7 @@ public class CompleteParser2Tests extends BaseTestCase { public void testBug71094() throws Exception { Writer writer = new StringWriter(); - writer.write("using namespace DOESNOTEXIST;\n"); + writer.write("using namespace DOESNOTEXIST;\n"); writer.write("class A { int x; };\n"); parse(writer.toString(), false); } @@ -2228,7 +2228,7 @@ public class CompleteParser2Tests extends BaseTestCase { public void testBug74328() throws Exception { Writer writer = new StringWriter(); - writer.write("int\n"); + writer.write("int\n"); writer.write("main(int argc, char **argv) {\n"); writer.write(" char *sign;\n"); writer.write("sign = \"\"; // IProblem generated here, syntax error\n"); diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/DOMSelectionParseTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/DOMSelectionParseTest.java index ac21a5487f7..a3bb7c210ef 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/DOMSelectionParseTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/DOMSelectionParseTest.java @@ -6,9 +6,9 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * IBM Rational Software - Initial API and implementation - * Markus Schorn (Wind River Systems) - * Nathan Ridge + * IBM Rational Software - Initial API and implementation + * Markus Schorn (Wind River Systems) + * Nathan Ridge *******************************************************************************/ package org.eclipse.cdt.core.parser.tests.ast2; @@ -38,7 +38,6 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariable; import org.eclipse.cdt.core.model.ICElement; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPASTNameBase; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.SemanticUtil; import org.eclipse.cdt.internal.core.model.CProject; import org.eclipse.core.resources.IFile; @@ -58,8 +57,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { super(name, DOMSelectionParseTest.class); } - public void testBaseCase_VariableReference() throws Exception - { + public void testBaseCase_VariableReference() throws Exception { String code = "void f() { int x; x=3; }"; //$NON-NLS-1$ int offset1 = code.indexOf( "x=" ); //$NON-NLS-1$ int offset2 = code.indexOf( '='); @@ -74,8 +72,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - public void testBaseCase_FunctionReference() throws Exception - { + public void testBaseCase_FunctionReference() throws Exception { String code = "int x(){x( );}"; //$NON-NLS-1$ int offset1 = code.indexOf( "x( " ); //$NON-NLS-1$ int offset2 = code.indexOf( "( )"); //$NON-NLS-1$ @@ -89,17 +86,15 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 4); assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - - public void testBaseCase_Error() throws Exception - { + + public void testBaseCase_Error() throws Exception { String code = "int x() { y( ) }"; //$NON-NLS-1$ int offset1 = code.indexOf( "y( " ); //$NON-NLS-1$ int offset2 = code.indexOf( "( )"); //$NON-NLS-1$ assertNull( parse( code, offset1, offset2, false )); } - - public void testBaseCase_FunctionDeclaration() throws Exception - { + + public void testBaseCase_FunctionDeclaration() throws Exception { String code = "int x(); void test() {x( );}"; //$NON-NLS-1$ int offset1 = code.indexOf( "x( )" ); //$NON-NLS-1$ int offset2 = code.indexOf( "( )"); //$NON-NLS-1$ @@ -113,9 +108,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 4); assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - - public void testBaseCase_FunctionDeclaration2() throws Exception - { + + public void testBaseCase_FunctionDeclaration2() throws Exception { String code = "int printf( const char *, ... ); "; //$NON-NLS-1$ int offset1 = code.indexOf( "printf" ); //$NON-NLS-1$ int offset2 = code.indexOf( "( const"); //$NON-NLS-1$ @@ -125,8 +119,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((IASTName)node).toString(), "printf" ); //$NON-NLS-1$ } - public void testBaseCase_VariableDeclaration() throws Exception - { + public void testBaseCase_VariableDeclaration() throws Exception { String code = "int x = 3;"; //$NON-NLS-1$ int offset1 = code.indexOf( "x" ); //$NON-NLS-1$ int offset2 = code.indexOf( " ="); //$NON-NLS-1$ @@ -136,9 +129,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "x" ); //$NON-NLS-1$ } - - public void testBaseCase_Parameter() throws Exception - { + + public void testBaseCase_Parameter() throws Exception { String code = "int main( int argc ) { int x = argc; }"; //$NON-NLS-1$ int offset1 = code.indexOf( "argc;" ); //$NON-NLS-1$ int offset2 = code.indexOf( ";" ); //$NON-NLS-1$ @@ -153,9 +145,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 14); assertEquals( ((ASTNode)decls[0]).getLength(), 4); } - - public void testBug57898() throws Exception - { + + public void testBug57898() throws Exception { Writer writer = new StringWriter(); writer.write( "class Gonzo { public: void playHorn(); };\n" ); //$NON-NLS-1$ writer.write( "void Gonzo::playHorn() { return; }\n" ); //$NON-NLS-1$ @@ -189,9 +180,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getLength(), 8); } } - - public void testConstructorDestructorDeclaration() throws Exception - { + + public void testConstructorDestructorDeclaration() throws Exception { Writer writer = new StringWriter(); writer.write( "class Gonzo { Gonzo(); ~Gonzo(); };"); //$NON-NLS-1$ String code = writer.toString(); @@ -201,16 +191,15 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPConstructor ); assertEquals( ((IASTName)node).toString(), "Gonzo" ); //$NON-NLS-1$ - + offset = code.indexOf( "~Gonzo"); //$NON-NLS-1$ node = parse( code, offset, offset + 6 ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPMethod ); assertEquals( ((IASTName)node).toString(), "~Gonzo" ); //$NON-NLS-1$ - } - - public void testBug60264() throws Exception - { + } + + public void testBug60264() throws Exception { Writer writer = new StringWriter(); writer.write( "namespace Muppets { int i; }\n" ); //$NON-NLS-1$ writer.write( "int main(int argc, char **argv) { Muppets::i = 1; }\n" ); //$NON-NLS-1$ @@ -238,9 +227,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 10); assertEquals( ((ASTNode)decls[0]).getLength(), 7); } - - public void testBug61613() throws Exception - { + + public void testBug61613() throws Exception { Writer writer = new StringWriter(); writer.write( "class Foo { // ** (A) **\n" ); //$NON-NLS-1$ writer.write( " public:\n" ); //$NON-NLS-1$ @@ -262,9 +250,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 6); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - - public void testBug60038() throws Exception - { + + public void testBug60038() throws Exception { Writer writer = new StringWriter(); writer.write( "class Gonzo {\n"); //$NON-NLS-1$ writer.write( "public:\n"); //$NON-NLS-1$ @@ -315,7 +302,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 53); assertEquals( ((ASTNode)decls[0]).getLength(), 5); break; - case 1: + case 1: assertTrue( binding instanceof ICPPConstructor ); decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); @@ -323,7 +310,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 22); assertEquals( ((ASTNode)decls[0]).getLength(), 5); break; - default: + default: assertFalse( binding instanceof ICPPConstructor ); String name = ((IASTName)node).toString(); assertEquals( name.indexOf("~"), 0); //$NON-NLS-1$ @@ -334,13 +321,12 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 64); assertEquals( ((ASTNode)decls[0]).getLength(), 6); break; - + } } } - - public void testMethodReference() throws Exception - { + + public void testMethodReference() throws Exception { Writer writer = new StringWriter(); writer.write( "class Sample { public:\n"); //$NON-NLS-1$ writer.write( " int getAnswer() const;\n"); //$NON-NLS-1$ @@ -361,9 +347,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 29); assertEquals( ((ASTNode)decls[0]).getLength(), 9); } - - public void testConstructorDefinition() throws Exception - { + + public void testConstructorDefinition() throws Exception { String code = "class ABC { public: ABC(); }; ABC::ABC(){}"; //$NON-NLS-1$ int startIndex = code.indexOf( "::ABC") + 2; //$NON-NLS-1$ IASTNode node = parse( code, startIndex, startIndex + 3 ); @@ -376,9 +361,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 20); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - - public void testBug63966() throws Exception - { + + public void testBug63966() throws Exception { Writer writer = new StringWriter(); writer.write( "void foo(int a) {}\n" ); //$NON-NLS-1$ writer.write( "void foo(long a) {}\n" ); //$NON-NLS-1$ @@ -388,22 +372,20 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { int startIndex = code.indexOf( "foo(1)"); //$NON-NLS-1$ parse( code, startIndex, startIndex + 3 ); } - - public void testBug66744() throws Exception - { + + public void testBug66744() throws Exception { Writer writer = new StringWriter(); writer.write( "enum EColours { RED, GREEN, BLUE }; \n" ); //$NON-NLS-1$ writer.write( "void foo() { EColours color = GREEN; } \n" ); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( "EColours color"); //$NON-NLS-1$ parse( code, startIndex, startIndex + 8 ); } - - - public void testBug68527() throws Exception - { + + + public void testBug68527() throws Exception { Writer writer = new StringWriter(); writer.write("struct X;\n"); //$NON-NLS-1$ writer.write("struct X anA;"); //$NON-NLS-1$ @@ -412,8 +394,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { parse( code, startIndex, startIndex + 1 ); } - public void testBug60407() throws Exception - { + public void testBug60407() throws Exception { Writer writer = new StringWriter(); writer.write( "struct ZZZ { int x, y, z; };\n" ); //$NON-NLS-1$ writer.write( "typedef struct ZZZ _FILE;\n" ); //$NON-NLS-1$ @@ -428,9 +409,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { int startIndex = code.indexOf( "static_function( file )"); //$NON-NLS-1$ parse( code, startIndex, startIndex + "static_function".length() ); //$NON-NLS-1$ } - - public void testBug61800() throws Exception - { + + public void testBug61800() throws Exception { Writer writer = new StringWriter(); writer.write( "class B {};\n"); //$NON-NLS-1$ writer.write( "class ABCDEF {\n"); //$NON-NLS-1$ @@ -449,27 +429,25 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 37); assertEquals( ((ASTNode)decls[0]).getLength(), 5); } - - public void testBug68739() throws Exception - { + + public void testBug68739() throws Exception { Writer writer = new StringWriter(); writer.write( "int fprintf( int *, const char *, ... ); \n" ); //$NON-NLS-1$ writer.write( "void boo( int * lcd ) { \n" ); //$NON-NLS-1$ writer.write( " /**/fprintf( lcd, \"%c%s 0x%x\", ' ', \"bbb\", 2 ); \n" ); //$NON-NLS-1$ writer.write( "} \n" ); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( "/**/fprintf") + 4; //$NON-NLS-1$ IASTNode node = parse( code, startIndex, startIndex+ 7 ); - + assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IFunction ); assertEquals( ((IASTName)node).toString(), "fprintf" ); //$NON-NLS-1$ } - - public void testBug72818() throws Exception - { + + public void testBug72818() throws Exception { Writer writer = new StringWriter(); writer.write( "union Squaw { int x; double u; };\n" ); //$NON-NLS-1$ writer.write( "int main(int argc, char **argv) {\n" ); //$NON-NLS-1$ @@ -488,9 +466,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 6); assertEquals( ((ASTNode)decls[0]).getLength(), 5); } - - public void test72220() throws Exception - { + + public void test72220() throws Exception { Writer writer = new StringWriter(); writer.write( "const int FOUND_ME = 1;\n" ); //$NON-NLS-1$ writer.write( "class Test{\n" ); //$NON-NLS-1$ @@ -512,7 +489,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 10); assertEquals( ((ASTNode)decls[0]).getLength(), 8); } - + public void testBug72721() throws Exception{ Writer writer = new StringWriter(); writer.write(" class ABC { public: ABC(int); }; \n"); //$NON-NLS-1$ @@ -520,7 +497,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write(" int j = 1; \n"); //$NON-NLS-1$ writer.write(" new ABC( j + 1 ); \n"); //$NON-NLS-1$ writer.write("} \n"); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( "ABC(" ); //$NON-NLS-1$ IASTNode node = parse( code, startIndex, startIndex + 3 ); @@ -533,7 +510,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 21); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - + public void testBug72372() throws Exception{ Writer writer = new StringWriter(); writer.write("namespace B { \n"); //$NON-NLS-1$ @@ -541,7 +518,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("} \n"); //$NON-NLS-1$ writer.write("using namespace B; \n"); //$NON-NLS-1$ writer.write("void SD_02::f_SD(){} \n"); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( ":f_SD" ); //$NON-NLS-1$ IASTNode node = parse( code, startIndex + 1, startIndex + 5 ); @@ -565,7 +542,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write(" using namespace A; \n"); //$NON-NLS-1$ writer.write("} \n"); //$NON-NLS-1$ writer.write("void C::B::f_SD(){} \n"); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( ":f_SD" ); //$NON-NLS-1$ IASTNode node = parse( code, startIndex + 1, startIndex + 5 ); @@ -578,12 +555,12 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 109); assertEquals( ((ASTNode)decls[0]).getLength(), 4); } - + public void testBug72713() throws Exception{ Writer writer = new StringWriter(); writer.write( "class Deck{ void initialize(); }; \n"); //$NON-NLS-1$ writer.write( "void Deck::initialize(){} \n"); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( ":initialize" ); //$NON-NLS-1$ IASTNode node = parse( code, startIndex + 1, startIndex + 11 ); @@ -596,14 +573,14 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 17); assertEquals( ((ASTNode)decls[0]).getLength(), 10); } - + public void testBug72712() throws Exception{ Writer writer = new StringWriter(); writer.write( "class B{ public: B(); }; void f(){ B* b; b = new B(); }" ); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( "new B" ) + 4; //$NON-NLS-1$ - + IASTNode node = parse( code, startIndex, startIndex + 1 ); node = TestUtil.findImplicitName(node); assertTrue( node instanceof IASTName ); @@ -615,16 +592,16 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( 17, ((ASTNode)decls[0]).getOffset() ); assertEquals( 1, ((ASTNode)decls[0]).getLength() ); } - + public void testBug72712_2() throws Exception{ Writer writer = new StringWriter(); writer.write( "class A {}; \n"); //$NON-NLS-1$ writer.write( "class B{ public: B( A* ); }; \n"); //$NON-NLS-1$ writer.write( "void f(){ B* b; b = new B( (A*)0 ); } \n"); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( "(A*)" ) + 1; //$NON-NLS-1$ - + IASTNode node = parse( code, startIndex, startIndex + 1 ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPClassType ); @@ -635,7 +612,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 6); assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - + public void testBug72814() throws Exception{ CPPASTNameBase.sAllowNameComputation= true; @@ -644,11 +621,11 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write( " template < class T > class AAA { T _t; };\n"); //$NON-NLS-1$ writer.write( "} \n"); //$NON-NLS-1$ writer.write( "N::AAA a; \n"); //$NON-NLS-1$ - + String code = writer.toString(); int startIndex = code.indexOf( "AAA" ); //$NON-NLS-1$ IASTNode node = parse( code, startIndex, startIndex + 3 ); - + assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPClassType ); assertEquals( ((IASTName)node).toString(), "AAA" ); //$NON-NLS-1$ @@ -657,9 +634,9 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "AAA" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 75); assertEquals( ((ASTNode)decls[0]).getLength(), 3); - + node = parse( code, startIndex, startIndex + 8 ); - + assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPClassType ); assertEquals( ((IASTName)node).toString(), "AAA" ); //$NON-NLS-1$ @@ -670,9 +647,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { // assertEquals( ((ASTNode)decls[0]).getOffset(), 15); // assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - - public void testBug72710() throws Exception - { + + public void testBug72710() throws Exception { Writer writer = new StringWriter(); writer.write( "class Card{\n" ); //$NON-NLS-1$ writer.write( " Card( int rank );\n" ); //$NON-NLS-1$ @@ -693,9 +669,9 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 36); assertEquals( ((ASTNode)decls[0]).getLength(), 4); } - - - public void testBug75731() throws Exception + + + public void testBug75731() throws Exception { Writer writer = new StringWriter(); writer.write("int rank() {\n"); //$NON-NLS-1$ @@ -712,7 +688,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("this->rank = rank;\n"); //$NON-NLS-1$ writer.write("this->rank = Card::rank;\n"); //$NON-NLS-1$ writer.write("this->rank = getRank();\n}\n"); //$NON-NLS-1$ - + String code = writer.toString(); int index = code.indexOf( "int rank() {") + 4; //$NON-NLS-1$ IASTNode node = parse( code, index, index + 4 ); @@ -725,7 +701,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 4); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "class Card{") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -737,7 +713,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "Card" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 31); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "Card( int rank );"); //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -749,7 +725,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "Card" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 46); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "Card( int rank );") + 10; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -773,7 +749,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "int getRank();") + 4; //$NON-NLS-1$ node = parse( code, index, index + 7 ); assertTrue( node instanceof IASTName ); @@ -785,7 +761,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "getRank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 86); assertEquals( ((ASTNode)decls[0]).getLength(), 7); - + index = code.indexOf( "Card::Card( int rank )"); //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -797,7 +773,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "Card" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 31); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "Card::Card( int rank )") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -809,7 +785,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "Card" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 46); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "Card::Card( int rank )") + 16; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -821,7 +797,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 56); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = ::rank();") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -833,7 +809,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = ::rank();") + 15; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -845,7 +821,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 4); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = this->rank;") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -857,7 +833,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = this->rank;") + 19; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -869,7 +845,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = rank;") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -881,7 +857,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = rank;") + 13; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -893,7 +869,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 56); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = Card::rank;") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -905,7 +881,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = Card::rank;") + 19; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -917,7 +893,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = getRank();") + 6; //$NON-NLS-1$ node = parse( code, index, index + 4 ); assertTrue( node instanceof IASTName ); @@ -929,7 +905,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( decls[0].toString(), "rank" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 68); assertEquals( ((ASTNode)decls[0]).getLength(), 4); - + index = code.indexOf( "this->rank = getRank();") + 13; //$NON-NLS-1$ node = parse( code, index, index + 7 ); assertTrue( node instanceof IASTName ); @@ -949,7 +925,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("class C{};\n}\n"); //$NON-NLS-1$ writer.write("using namespace N; /* B */\n"); //$NON-NLS-1$ writer.write("N::C c; /* C */\n"); //$NON-NLS-1$ - + String code = writer.toString(); int index = code.indexOf( "using namespace N;") + 16; //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1 ); @@ -966,9 +942,9 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { public void testBug78435() throws Exception { Writer writer = new StringWriter(); - writer.write("int itself; //A\n"); //$NON-NLS-1$ + writer.write("int itself; //A\n"); //$NON-NLS-1$ writer.write("void f(int itself){} //B\n"); //$NON-NLS-1$ - + String code = writer.toString(); int index = code.indexOf( "void f(int itself){}") + 11; //$NON-NLS-1$ IASTNode node = parse( code, index, index + 6 ); @@ -988,7 +964,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("struct Base {\n"); //$NON-NLS-1$ writer.write("int Data; // 1\n"); //$NON-NLS-1$ writer.write("struct Data; // 2\n};\n"); //$NON-NLS-1$ - + String code = writer.toString(); int index = code.indexOf("struct Data;") + 7; //$NON-NLS-1$ IASTNode node = parse( code, index, index + 4 ); @@ -1002,14 +978,14 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 36); assertEquals( ((ASTNode)decls[0]).getLength(), 4); } - + public void testBug78231B() throws Exception { Writer writer = new StringWriter(); writer.write("int Data;\n"); //$NON-NLS-1$ writer.write("struct Base {\n"); //$NON-NLS-1$ writer.write("int Data; // 1\n"); //$NON-NLS-1$ writer.write("struct Data; // 2\n};\n"); //$NON-NLS-1$ - + String code = writer.toString(); int index = code.indexOf("struct Data;") + 7; //$NON-NLS-1$ IASTNode node = parse( code, index, index + 4 ); @@ -1018,7 +994,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((IASTName)node).toString(), "Data" ); //$NON-NLS-1$ assertEquals( ((ASTNode)node).getOffset(), index); } - + public void testBug64326() throws Exception { Writer writer = new StringWriter(); writer.write("class foo {\n"); //$NON-NLS-1$ @@ -1031,7 +1007,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("foo* f;\n"); //$NON-NLS-1$ writer.write("f->bar = 1; // ** (A) **\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); int index = code.indexOf("f->bar") + 3; //$NON-NLS-1$ IASTNode node = parse( code, index, index + 3 ); @@ -1044,7 +1020,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getOffset(), 33); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - + public void testBug92605() throws Exception { Writer writer = new StringWriter(); writer.write("#define UINT32 unsigned int\n"); //$NON-NLS-1$ @@ -1062,14 +1038,14 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IMacroBinding ); assertEquals( ((IASTName)node).toString(), "UINT32" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "UINT32" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 8); assertEquals( ((ASTNode)decls[0]).getLength(), 6); } - + public void testBug79877() throws Exception { Writer writer = new StringWriter(); writer.write("int Func2() {\n"); //$NON-NLS-1$ @@ -1079,27 +1055,27 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("}\n"); //$NON-NLS-1$ String code = writer.toString(); IFile test1 = importFile("test1.c", code); //$NON-NLS-1$ - + writer.write("int Func1(void) {\n"); //$NON-NLS-1$ writer.write("return(10);\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ importFile("test2.c", writer.toString()); //$NON-NLS-1$ - + int index = code.indexOf("Func1"); //$NON-NLS-1$ IASTNode node = parse( test1, index, index + 5, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICExternalBinding ); assertEquals( ((IASTName)node).toString(), "Func1" ); //$NON-NLS-1$ - + ICElement[] scope = new ICElement[1]; scope[0] = new CProject(null, project); // // TODO need to register to an index and wait for it to finish before this test will work -// +// // Set matches = SearchEngine.getMatchesFromSearchEngine(SearchEngine.createCSearchScope(scope), (IASTName)node, CSearchPattern.DECLARATIONS); // assertEquals(matches.size(), 1); } - + public void testBug78114() throws Exception { Writer writer = new StringWriter(); writer.write("class Point{ //line C\n"); //$NON-NLS-1$ @@ -1113,23 +1089,23 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("Point &p2 = *(new Point(10)); // line A\n"); //$NON-NLS-1$ writer.write("return (0);\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("Point(10)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 5, true ); node = TestUtil.findImplicitName(node); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName) node).resolveBinding() instanceof ICPPConstructor ); assertEquals( ((IASTName)node).toString(), "Point" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "Point" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 53); assertEquals( ((ASTNode)decls[0]).getLength(), 5); } - + public void testBug73398() throws Exception { Writer writer = new StringWriter(); writer.write("int joo=4;\n"); //$NON-NLS-1$ @@ -1137,22 +1113,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("int main(int argc, char **argv) {\n"); //$NON-NLS-1$ writer.write("return (koo);\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("koo);"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 3, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IMacroBinding ); assertEquals( ((IASTName)node).toString(), "koo" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "koo" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 19); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - + public void testBug() throws Exception { Writer writer = new StringWriter(); writer.write("class Point{ \n"); //$NON-NLS-1$ @@ -1168,22 +1144,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("p2->operator=(zero); // line B\n"); //$NON-NLS-1$ writer.write("return (0); \n"); //$NON-NLS-1$ writer.write(" }\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("operator=(zero)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 9, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPMethod ); assertEquals( ((IASTName)node).toString(), "operator =" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "operator =" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 51); assertEquals( ((ASTNode)decls[0]).getLength(), 9); } - + public void testBug80826() throws Exception { Writer writer = new StringWriter(); writer.write("void swapImpl(int& a, int& b) {/*...*/} // line C\n"); //$NON-NLS-1$ @@ -1194,22 +1170,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("swap(x,y); // line A\n"); //$NON-NLS-1$ writer.write(" //...\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("swap(x,y);"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 4, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IMacroBinding ); assertEquals( ((IASTName)node).toString(), "swap" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "swap" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 58); assertEquals( ((ASTNode)decls[0]).getLength(), 4); } - + public void testBug78389() throws Exception { Writer writer = new StringWriter(); writer.write("class A{\n"); //$NON-NLS-1$ @@ -1220,22 +1196,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("A a; \n"); //$NON-NLS-1$ writer.write("a.method1(3); // F3 on method1 in this line should highlight method1 on line B\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("method1(3)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 7, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPMethod ); assertEquals( ((IASTName)node).toString(), "method1" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "method1" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 41); assertEquals( ((ASTNode)decls[0]).getLength(), 7); } - + public void testBug78625() throws Exception { Writer writer = new StringWriter(); writer.write("class A{ \n"); //$NON-NLS-1$ @@ -1244,22 +1220,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("class B: A{\n"); //$NON-NLS-1$ writer.write("B():A(2) {} //line 5\n"); //$NON-NLS-1$ writer.write("};\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("A(2)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPConstructor ); assertEquals( ((IASTName)node).toString(), "A" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "A" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 29); assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - + public void testBug78656() throws Exception { Writer writer = new StringWriter(); writer.write("class A{\n"); //$NON-NLS-1$ @@ -1269,41 +1245,41 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("A a;\n"); //$NON-NLS-1$ writer.write("int i=a.method1(); //line 6\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("method1();"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 7, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPMethod ); assertEquals( ((IASTName)node).toString(), "method1" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "method1" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 21); assertEquals( ((ASTNode)decls[0]).getLength(), 7); } - + public void testBug79965() throws Exception { Writer writer = new StringWriter(); writer.write("int i = 2, half_i = i / 2;\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("i / 2"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "i" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "i" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 4); assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - + public void testBug64326A() throws Exception { Writer writer = new StringWriter(); writer.write("class foo {\n"); //$NON-NLS-1$ @@ -1316,22 +1292,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("foo* f;\n"); //$NON-NLS-1$ writer.write("f->bar(); // ** (A) **\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("bar();"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 3, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPMethod ); assertEquals( ((IASTName)node).toString(), "bar" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "bar" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 34); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - + public void testBug64326B() throws Exception { Writer writer = new StringWriter(); writer.write("class foo {\n"); //$NON-NLS-1$ @@ -1344,22 +1320,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("foo* f;\n"); //$NON-NLS-1$ writer.write("f->bar = 1; // ** (A) **\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("bar = "); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 3, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPField ); assertEquals( ((IASTName)node).toString(), "bar" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "bar" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 33); assertEquals( ((ASTNode)decls[0]).getLength(), 3); } - + public void testBug43128A() throws Exception { Writer writer = new StringWriter(); writer.write("void foo()\n"); //$NON-NLS-1$ @@ -1368,44 +1344,44 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write(" // ...\n"); //$NON-NLS-1$ writer.write("x++;\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("x++"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "x" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "x" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 17); assertEquals( ((ASTNode)decls[0]).getLength(), 1); } - + public void testBug43128B() throws Exception { Writer writer = new StringWriter(); writer.write("int\n"); //$NON-NLS-1$ writer.write("main(int argc, char **argv) {\n"); //$NON-NLS-1$ writer.write("int x = argc;\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("argc;"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 4, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IParameter ); assertEquals( ((IASTName)node).toString(), "argc" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "argc" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 13); assertEquals( ((ASTNode)decls[0]).getLength(), 4); } - + public void testBug43128C() throws Exception { Writer writer = new StringWriter(); writer.write("int j;\n"); //$NON-NLS-1$ @@ -1418,44 +1394,44 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("}\n"); //$NON-NLS-1$ String code = writer.toString(); - + int index = code.indexOf("x ="); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "x" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "x" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 19); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - + index = code.indexOf("j ="); //$NON-NLS-1$ node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "j" ); //$NON-NLS-1$ - + decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "j" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 4); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - + index = code.indexOf("y ="); //$NON-NLS-1$ node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "y" ); //$NON-NLS-1$ - + decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "y" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 30); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - } - + } + public void testBug86504() throws Exception { Writer writer = new StringWriter(); writer.write("class C { };\n"); //$NON-NLS-1$ @@ -1465,21 +1441,21 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("void foo() {\n"); //$NON-NLS-1$ writer.write("f(g); // openDeclarations on g causes StackOverflowError\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("g); "); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPFunction ); assertEquals( ((IASTName)node).toString(), "g" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "g" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 89); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - } + } public void testBug79811() throws Exception { Writer writer = new StringWriter(); @@ -1489,21 +1465,21 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("E e; //this one is incorrectly found\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ writer.write("E f; //ok\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("E{E0}"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IEnumeration ); assertEquals( ((IASTName)node).toString(), "E" ); //$NON-NLS-1$ - + IName[] decls = getReferencesOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "E" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 76); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - } + } public void testBugLabelWithMacro() throws Exception { Writer writer = new StringWriter(); @@ -1519,32 +1495,32 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("goto test;\n"); //$NON-NLS-1$ writer.write("return foo();\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("HANDLE h"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 6, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IMacroBinding ); assertEquals( ((IASTName)node).toString(), "HANDLE" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "HANDLE" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 36); assertEquals( ((ASTNode)decls[0]).getLength(), 6); - + index = code.indexOf("test;"); //$NON-NLS-1$ node = parse( code, index, index + 4, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ILabel ); assertEquals( ((IASTName)node).toString(), "test" ); //$NON-NLS-1$ - + decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "test" ); //$NON-NLS-1$ assertLocation(code, "test:", 4, decls[0]); - } + } public void testBugMethodDef() throws Exception { Writer writer = new StringWriter(); @@ -1560,28 +1536,28 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("void tetrahedron::set() {\n"); //$NON-NLS-1$ writer.write("int color;\n"); //$NON-NLS-1$ writer.write("setColor(color);\n"); //$NON-NLS-1$ - writer.write("}\n"); //$NON-NLS-1$ - + writer.write("}\n"); //$NON-NLS-1$ + String code = writer.toString(); - + int index = code.indexOf("setColor(color)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 8, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPMethod ); assertEquals( ((IASTName)node).toString(), "setColor" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "setColor" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 67); assertEquals( ((ASTNode)decls[0]).getLength(), 8); - + IName[] refs = getReferencesOffTU((IASTName)node); assertEquals(refs.length, 1); assertEquals( refs[0].toString(), "setColor" ); //$NON-NLS-1$ assertEquals( ((ASTNode)refs[0]).getOffset(), 162); assertEquals( ((ASTNode)refs[0]).getLength(), 8); - } + } public void testBug86698A() throws Exception { Writer writer = new StringWriter(); @@ -1591,22 +1567,22 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("int c;\n"); //$NON-NLS-1$ writer.write("C() : c(0) { no_opt(this); }\n"); //$NON-NLS-1$ writer.write("};\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("c(0)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof IVariable ); assertEquals( ((IASTName)node).toString(), "c" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "c" ); //$NON-NLS-1$ assertEquals( ((ASTNode)decls[0]).getOffset(), 42); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - } - + } + public void testBug86698B() throws Exception { Writer writer = new StringWriter(); writer.write("int f(int);\n"); //$NON-NLS-1$ @@ -1627,24 +1603,23 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { writer.write("// handles exceptions thrown from the ctorinitializer\n"); //$NON-NLS-1$ writer.write("// and from the constructor function body\n"); //$NON-NLS-1$ writer.write("}\n"); //$NON-NLS-1$ - + String code = writer.toString(); - + int index = code.indexOf("i(f(ii)), d(id)"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 1, true ); assertTrue( node instanceof IASTName ); assertTrue( ((IASTName)node).resolveBinding() instanceof ICPPField ); assertEquals( ((IASTName)node).toString(), "i" ); //$NON-NLS-1$ - + IName[] decls = getDeclarationOffTU((IASTName)node); assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "i" ); //$NON-NLS-1$ assertEquals( code.indexOf("int i") + 4, ((ASTNode)decls[0]).getOffset()); assertEquals( ((ASTNode)decls[0]).getLength(), 1); - } + } - public void testBug64181() throws Exception - { + public void testBug64181() throws Exception { StringBuffer buffer = new StringBuffer(); buffer.append("namespace Foo { // ** (A) **\n"); //$NON-NLS-1$ buffer.append("int bar;\n"); //$NON-NLS-1$ @@ -1656,7 +1631,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { buffer.append("main(int argc, char **argv) {\n"); //$NON-NLS-1$ buffer.append("Foo::bar; // ** (C) **\n"); //$NON-NLS-1$ buffer.append("}\n"); //$NON-NLS-1$ - + String code = buffer.toString(); int index = code.indexOf("Foo::bar;"); //$NON-NLS-1$ IASTNode node = parse( code, index, index + 3, true ); @@ -1672,9 +1647,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[1]).getOffset(), 50); assertEquals( ((ASTNode)decls[1]).getLength(), 3); } - - public void testBug80823() throws Exception - { + + public void testBug80823() throws Exception { StringBuffer buffer = new StringBuffer(); buffer.append("class MyEggImpl {}; // line A\n"); //$NON-NLS-1$ buffer.append("#define MyChicken MyEggImpl\n"); //$NON-NLS-1$ @@ -1694,8 +1668,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( ((ASTNode)decls[0]).getLength(), 9); } - public void testBug86993() throws Exception - { + public void testBug86993() throws Exception { StringBuffer buffer = new StringBuffer(); buffer.append("#define _BEGIN_STD_C extern \"C\" {\n"); //$NON-NLS-1$ buffer.append("#define _END_STD_C }\n"); //$NON-NLS-1$ @@ -1704,8 +1677,8 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { buffer.append("_END_STD_C\n"); //$NON-NLS-1$ buffer.append("char foo() {\n"); //$NON-NLS-1$ buffer.append("return c; // ref \n"); //$NON-NLS-1$ - buffer.append("}\n"); //$NON-NLS-1$ - + buffer.append("}\n"); //$NON-NLS-1$ + String code = buffer.toString(); int index = code.indexOf("return c;"); //$NON-NLS-1$ IASTNode node = parse( code, index + 7, index + 8, true ); @@ -1717,7 +1690,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals(decls.length, 1); assertEquals( decls[0].toString(), "c" ); //$NON-NLS-1$ assertLocation(code, "c;", 1, decls[0]); - + index = code.indexOf("char c"); //$NON-NLS-1$ node = parse( code, index + 5, index + 6, true ); assertNotNull( node ); @@ -1728,7 +1701,7 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals( refs[0].toString(), "c" ); //$NON-NLS-1$ assertLocation(code, "c; // ref", 1, refs[0]); } - + private void assertLocation(String code, String occur, int length, IName name) { int offset= code.indexOf(occur); final IASTFileLocation loc= name.getFileLocation(); @@ -1736,4 +1709,3 @@ public class DOMSelectionParseTest extends DOMSelectionParseBaseTest { assertEquals(length, loc.getNodeLength()); } } - diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/TestUtil.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/TestUtil.java index 89ddc566e2f..5a292b6bd77 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/TestUtil.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/TestUtil.java @@ -18,7 +18,7 @@ import org.eclipse.cdt.core.dom.ast.IASTNode; public class TestUtil { /** * Searches the AST upward from the given starting node to find the - * nearest IASTImplicitNameOwner and returns its first implicit name, + * nearest IASTImplicitNameOwner and returns its first implicit name, * or null if it has no implicit names. */ public static IASTName findImplicitName(IASTNode node) {