From 00e7081b1756173f360766dd408190cd68af9f81 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Sun, 27 Dec 2015 21:39:00 -0800 Subject: [PATCH] Moved to JDK 1.8. Change-Id: I415625d3cebe3ff38454bd6722c31da07eb466c4 --- .../.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 8 +- .../META-INF/MANIFEST.MF | 2 +- .../lrparser/tests/LRCompletionParseTest.java | 504 +++++++++--------- 4 files changed, 251 insertions(+), 265 deletions(-) diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath b/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath index 098194ca4b7..eca7bdba8f0 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/.classpath @@ -1,6 +1,6 @@ - + diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs index 54df7334fc4..d22050d133a 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,7 @@ -#Fri Apr 25 15:22:29 EDT 2008 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=ignore @@ -62,4 +62,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enab org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF index b3dbb3ffcc8..37e1a8b60ff 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/META-INF/MANIFEST.MF @@ -12,4 +12,4 @@ Require-Bundle: org.eclipse.core.runtime, Export-Package: org.eclipse.cdt.core.lrparser.tests Bundle-Vendor: %Bundle-Vendor.0 Bundle-Localization: plugin -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 diff --git a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java index db50d7453f9..84273df7451 100644 --- a/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java +++ b/lrparser/org.eclipse.cdt.core.lrparser.tests/src/org/eclipse/cdt/core/lrparser/tests/LRCompletionParseTest.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2006, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2006, 2009 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.cdt.core.lrparser.tests; @@ -15,9 +15,6 @@ import java.util.Collections; import java.util.Comparator; import java.util.List; -import junit.framework.TestCase; -import junit.framework.TestSuite; - import org.eclipse.cdt.core.dom.ast.IASTCompletionNode; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IBinding; @@ -28,6 +25,8 @@ import org.eclipse.cdt.core.dom.ast.IVariable; import org.eclipse.cdt.core.dom.lrparser.gnu.GCCLanguage; import org.eclipse.cdt.core.model.ILanguage; +import junit.framework.TestCase; +import junit.framework.TestSuite; /** * Reuse the completion parse tests from the old parser for now. @@ -38,379 +37,366 @@ public class LRCompletionParseTest extends TestCase { public static TestSuite suite() { return new TestSuite(LRCompletionParseTest.class); } - - - public LRCompletionParseTest() { } - public LRCompletionParseTest(String name) { super(name); } - + + public LRCompletionParseTest() { + } + + public LRCompletionParseTest(String name) { + super(name); + } protected IASTCompletionNode parse(String code, int offset) throws Exception { return ParseHelper.getCompletionNode(code, getCLanguage(), offset); } - private static final Comparator BINDING_COMPARATOR = new Comparator() { @Override public int compare(IBinding b1, IBinding b2) { return b1.getName().compareTo(b2.getName()); } }; - - + public static IBinding[] getBindings(IASTName[] names) { - List bindings = new ArrayList(); - - for(IASTName name : names) { - if(name.getTranslationUnit() == null) + List bindings = new ArrayList<>(); + + for (IASTName name : names) { + if (name.getTranslationUnit() == null) continue; - - for(IBinding binding : name.getCompletionContext().findBindings(name, true)) + + for (IBinding binding : name.getCompletionContext().findBindings(name, true)) { bindings.add(binding); + } } Collections.sort(bindings, BINDING_COMPARATOR); return bindings.toArray(new IBinding[bindings.size()]); } - - + protected ILanguage getCLanguage() { return GCCLanguage.getDefault(); } - - + // First steal tests from CompletionParseTest - - + public void testCompletionStructField() throws Exception { String code = - "int aVar; " + - "struct D{ " + - " int aField1; " + - " int aField2; " + - "}; " + - "void foo(){" + - " struct D d; " + - " d.a " + - "}\n"; - - int index = code.indexOf( "d.a" ); - - IASTCompletionNode node = parse( code, index + 3 ); - assertNotNull( node ); - + "int aVar; " + + "struct D{ " + + " int aField1; " + + " int aField2; " + + "}; " + + "void foo() {" + + " struct D d; " + + " d.a " + + "}\n"; + + int index = code.indexOf("d.a"); + + IASTCompletionNode node = parse(code, index + 3); + assertNotNull(node); + String prefix = node.getPrefix(); - assertNotNull( prefix ); - assertEquals( prefix, "a" ); - + assertNotNull(prefix); + assertEquals(prefix, "a"); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(2, bindings.length); assertEquals("aField1", ((IField)bindings[0]).getName()); assertEquals("aField2", ((IField)bindings[1]).getName()); } - + public void testCompletionStructFieldPointer() throws Exception { String code = - "struct Cube { " + - " int nLen; " + - " int nWidth; " + - " int nHeight; " + - "}; " + - "int volume( struct Cube * pCube ) { " + - " pCube->SP "; + "struct Cube { " + + " int nLen; " + + " int nWidth; " + + " int nHeight; " + + "}; " + + "int volume(struct Cube * pCube) { " + + " pCube->SP "; + + IASTCompletionNode node = parse(code, code.indexOf("SP")); - IASTCompletionNode node = parse( code, code.indexOf("SP")); - IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(3, bindings.length); assertEquals("nHeight", ((IField)bindings[0]).getName()); assertEquals("nLen", ((IField)bindings[1]).getName()); assertEquals("nWidth", ((IField)bindings[2]).getName()); } - - + public void testCompletionParametersAsLocalVariables() throws Exception{ String code = - "int foo( int aParameter ){" + - " int aLocal;" + - " if( aLocal != 0 ){" + - " int aBlockLocal;" + - " a \n"; - - int index = code.indexOf( " a " ); - - IASTCompletionNode node = parse( code, index + 2 ); - assertNotNull( node ); - + "int foo(int aParameter) {" + + " int aLocal;" + + " if (aLocal != 0) {" + + " int aBlockLocal;" + + " a \n"; + + int index = code.indexOf(" a "); + + IASTCompletionNode node = parse(code, index + 2); + assertNotNull(node); + assertEquals("a", node.getPrefix()); //$NON-NLS-1$ - + IASTName[] names = node.getNames(); - assertEquals(2, names.length); - + assertEquals(2, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(3, bindings.length); - assertEquals("aBlockLocal", ((IVariable)bindings[0]).getName()); - assertEquals("aLocal", ((IVariable)bindings[1]).getName()); - assertEquals("aParameter", ((IVariable)bindings[2]).getName()); + assertEquals("aBlockLocal", ((IVariable) bindings[0]).getName()); + assertEquals("aLocal", ((IVariable) bindings[1]).getName()); + assertEquals("aParameter", ((IVariable) bindings[2]).getName()); } - - + public void testCompletionTypedef() throws Exception { String code = - "typedef int Int; " + - "InSP"; - - int index = code.indexOf( "SP" ); - - IASTCompletionNode node = parse( code, index ); + "typedef int Int; " + + "InSP"; + + int index = code.indexOf("SP"); + + IASTCompletionNode node = parse(code, index); assertNotNull(node); - + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + assertEquals("In", node.getPrefix()); - + IBinding[] bindings = getBindings(names); - + assertEquals(1, bindings.length); - assertEquals("Int", ((ITypedef)bindings[0]).getName()); + assertEquals("Int", ((ITypedef) bindings[0]).getName()); } - + public void testCompletion() throws Exception { String code = - "#define GL_T 0x2001\n" + - "#define GL_TRUE 0x1\n" + - "typedef unsigned char GLboolean;\n" + - "static GLboolean should_rotate = GL_T"; - + "#define GL_T 0x2001\n" + + "#define GL_TRUE 0x1\n" + + "typedef unsigned char GLboolean;\n" + + "static GLboolean should_rotate = GL_T"; + int index = code.indexOf("= GL_T"); - - IASTCompletionNode node = parse( code, index + 6); + + IASTCompletionNode node = parse(code, index + 6); assertNotNull(node); - + assertEquals("GL_T", node.getPrefix()); //$NON-NLS-1$ - + IASTName[] names = node.getNames(); - assertEquals(1, names.length); + assertEquals(1, names.length); } - + public void testCompletionInTypeDef() throws Exception { String code = - "struct A { int name; }; \n" + - "typedef struct A * PA; \n" + - "int main() { \n" + - " PA a; \n" + - " a->SP \n" + - "} \n"; - + "struct A { int name; }; \n" + + "typedef struct A * PA; \n" + + "int main() { \n" + + " PA a; \n" + + " a->SP \n" + + "} \n"; + int index = code.indexOf("SP"); //$NON-NLS-1$ - - IASTCompletionNode node = parse( code, index ); - assertNotNull( node ); - - + + IASTCompletionNode node = parse(code, index); + assertNotNull(node); + + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(1, bindings.length); - assertEquals("name", ((IField)bindings[0]).getName()); + assertEquals("name", ((IField) bindings[0]).getName()); } - - + public void _testCompletionFunctionCall() throws Exception { String code = - "struct A { \n" + - " int f2; \n" + - " int f4; \n" + - "}; \n" + - "const A * foo(){} \n" + - "void main( ) \n" + - "{ \n" + - " foo()->SP \n"; - - int index = code.indexOf( "SP" ); - - IASTCompletionNode node = parse( code, index ); - assertNotNull( node ); - + "struct A { \n" + + " int f2; \n" + + " int f4; \n" + + "}; \n" + + "const A * foo() {} \n" + + "void main() \n" + + "{ \n" + + " foo()->SP \n"; + + int index = code.indexOf("SP"); + + IASTCompletionNode node = parse(code, index); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(2, bindings.length); - assertEquals("f2", ((IField)bindings[0]).getName()); - assertEquals("f4", ((IField)bindings[1]).getName()); + assertEquals("f2", ((IField) bindings[0]).getName()); + assertEquals("f4", ((IField) bindings[1]).getName()); } - - + public void _testCompletionSizeof() throws Exception { String code = - "int f() {\n" + - "short blah;\n" + - "int x = sizeof(bl"; - - int index = code.indexOf( "of(bl" ); - - IASTCompletionNode node = parse( code, index + 5); - assertNotNull( node ); - + "int f() {\n" + + "short blah;\n" + + "int x = sizeof(bl"; + + int index = code.indexOf("of(bl"); + + IASTCompletionNode node = parse(code, index + 5); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(1, bindings.length); - assertEquals("blah", ((IVariable)bindings[0]).getName()); + assertEquals("blah", ((IVariable) bindings[0]).getName()); } - - + public void testCompletionForLoop() throws Exception { String code = - "int f() {\n" + - " int biSizeImage = 5;\n" + - "for (int i = 0; i < bi "; - + "int f() {\n" + + " int biSizeImage = 5;\n" + + "for (int i = 0; i < bi "; + int index = code.indexOf("< bi"); - - IASTCompletionNode node = parse( code, index + 4); - assertNotNull( node ); - + + IASTCompletionNode node = parse(code, index + 4); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(1, bindings.length); - assertEquals("biSizeImage", ((IVariable)bindings[0]).getName()); + assertEquals("biSizeImage", ((IVariable) bindings[0]).getName()); } - - - + public void testCompletionStructPointer() throws Exception { String code = - " struct Temp { char * total; };" + - " int f(struct Temp * t) {" + - " t->t[5] = t->"; - + " struct Temp { char * total; };" + + " int f(struct Temp * t) {" + + " t->t[5] = t->"; + int index = code.indexOf("= t->"); - - IASTCompletionNode node = parse( code, index + 5); - assertNotNull( node ); - + + IASTCompletionNode node = parse(code, index + 5); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(1, bindings.length); - assertEquals("total", ((IVariable)bindings[0]).getName()); + assertEquals("total", ((IVariable) bindings[0]).getName()); } - - + public void testCompletionEnum() throws Exception { String code = - "typedef int DWORD;\n" + - "typedef char BYTE;\n" + - "#define MAKEFOURCC(ch0, ch1, ch2, ch3) \\\n" + - "((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \\\n" + - "((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24 ))\n" + - "enum e {\n" + - "blah1 = 5,\n" + - "blah2 = MAKEFOURCC('a', 'b', 'c', 'd'),\n" + - "blah3\n" + - "};\n" + - "e mye = bl\n"; - + "typedef int DWORD;\n" + + "typedef char BYTE;\n" + + "#define MAKEFOURCC(ch0, ch1, ch2, ch3) \\\n" + + "((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | \\\n" + + "((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24))\n" + + "enum e {\n" + + "blah1 = 5,\n" + + "blah2 = MAKEFOURCC('a', 'b', 'c', 'd'),\n" + + "blah3\n" + + "};\n" + + "e mye = bl\n"; + int index = code.indexOf("= bl"); - - IASTCompletionNode node = parse( code, index + 4); - assertNotNull( node ); - + + IASTCompletionNode node = parse(code, index + 4); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(3, bindings.length); - assertEquals("blah1", ((IEnumerator)bindings[0]).getName()); - assertEquals("blah2", ((IEnumerator)bindings[1]).getName()); - assertEquals("blah3", ((IEnumerator)bindings[2]).getName()); + assertEquals("blah1", ((IEnumerator) bindings[0]).getName()); + assertEquals("blah2", ((IEnumerator) bindings[1]).getName()); + assertEquals("blah3", ((IEnumerator) bindings[2]).getName()); } - - - public void testCompletionStructArray() throws Exception { + + public void testCompletionStructArray() throws Exception { String code = - "struct packet { int a; int b; };\n" + - "struct packet buffer[5];\n" + - "int main(int argc, char **argv) {\n" + - " buffer[2]."; - + "struct packet { int a; int b; };\n" + + "struct packet buffer[5];\n" + + "int main(int argc, char **argv) {\n" + + " buffer[2]."; + int index = code.indexOf("[2]."); - - IASTCompletionNode node = parse( code, index + 4); - assertNotNull( node ); - + + IASTCompletionNode node = parse(code, index + 4); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + IBinding[] bindings = getBindings(names); - + assertEquals(2, bindings.length); - assertEquals("a", ((IField)bindings[0]).getName()); - assertEquals("b", ((IField)bindings[1]).getName()); + assertEquals("a", ((IField) bindings[0]).getName()); + assertEquals("b", ((IField) bindings[1]).getName()); } - - + public void testCompletionPreprocessorDirective() throws Exception { IASTCompletionNode node = parse("#", 1); - assertNotNull( node ); - + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); - + assertEquals(1, names.length); + //assertEquals("#", node.getPrefix()); } - + public void testCompletionPreprocessorMacro() throws Exception { String code = - "#define AMACRO 99 \n" + - "int main() { \n" + - " int AVAR; \n" + - " int x = A \n"; - + "#define AMACRO 99 \n" + + "int main() { \n" + + " int AVAR; \n" + + " int x = A \n"; + int index = code.indexOf("= A"); - - IASTCompletionNode node = parse( code, index + 3); - assertNotNull( node ); - + + IASTCompletionNode node = parse(code, index + 3); + assertNotNull(node); + IASTName[] names = node.getNames(); - assertEquals(1, names.length); + assertEquals(1, names.length); assertEquals("A", node.getPrefix()); } - - + public void testCompletionInsidePreprocessorDirective() throws Exception { String code = - "#define MAC1 99 \n" + - "#define MAC2 99 \n" + - "#ifdef MA"; - + "#define MAC1 99 \n" + + "#define MAC2 99 \n" + + "#ifdef MA"; + int index = code.length(); - - IASTCompletionNode node = parse( code, index ); - assertNotNull( node ); - + + IASTCompletionNode node = parse(code, index); + assertNotNull(node); + assertEquals("MA", node.getPrefix()); } }