From 9a96a017e5912de4a98b3244941a69a83f46cf0c Mon Sep 17 00:00:00 2001
From: Sergey Prigogin
Date: Mon, 19 May 2014 12:15:52 -0700
Subject: [PATCH] Cosmetics.
---
.../ui/tests/text/BracketInserterTest.java | 7 +-
.../contentassist/ContentAssistTestSuite.java | 6 +-
.../contentassist/ContentAssistTests.java | 210 +++++++++---------
.../ProposalFilterPreferencesTest.java | 6 +-
.../contentassist/TestProposalFilter.java | 7 +-
.../contentassist2/ParameterHintTests.java | 2 +-
.../ui/text/CParameterListValidator.java | 115 +++++-----
.../contentassist/CCompletionProposal.java | 130 +++--------
.../CContentAssistProcessor.java | 90 +++-----
.../CProposalContextInformation.java | 21 +-
.../CompletionProposalCategory.java | 37 ++-
.../contentassist/ContentAssistProcessor.java | 59 +++--
.../contentassist/DefaultProposalFilter.java | 26 +--
13 files changed, 279 insertions(+), 437 deletions(-)
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BracketInserterTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BracketInserterTest.java
index f62769c582d..f52d394efc5 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BracketInserterTest.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/BracketInserterTest.java
@@ -48,13 +48,11 @@ import org.eclipse.cdt.ui.testplugin.EditorTestHelper;
import org.eclipse.cdt.internal.ui.editor.CEditor;
-
/**
* Tests the automatic bracket insertion feature of the CEditor. Also tests
* linked mode along the way.
*/
public class BracketInserterTest extends TestCase {
-
private static final String SRC= "src";
private static final String SEP= "/";
private static final String TU_NAME= "smartedit.cpp";
@@ -77,7 +75,7 @@ public class BracketInserterTest extends TestCase {
" char[] t= args[0];" +
"}\n";
- // document offsets
+ // Document offsets.
private static final int INCLUDE_OFFSET= 9;
private static final int BODY_OFFSET= 212;
private static final int ARGS_OFFSET= 184;
@@ -173,7 +171,7 @@ public class BracketInserterTest extends TestCase {
assertModel(true);
}
- public void testDeletingMultipleParenthesisInertion() throws BadLocationException, CModelException, CoreException {
+ public void testDeletingMultipleParenthesisInsertion() throws BadLocationException, CModelException, CoreException {
setCaret(BODY_OFFSET);
type("((((");
@@ -477,7 +475,6 @@ public class BracketInserterTest extends TestCase {
return false;
}
}.waitForCondition(EditorTestHelper.getActiveDisplay(), 200);
-
}
private int getCaret() {
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTestSuite.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTestSuite.java
index f97faa49889..1f434202010 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTestSuite.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTestSuite.java
@@ -6,9 +6,8 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Markus Schorn - initial API and implementation
+ * Markus Schorn - initial API and implementation
*******************************************************************************/
-
package org.eclipse.cdt.ui.tests.text.contentassist;
import junit.framework.TestSuite;
@@ -22,7 +21,6 @@ public class ContentAssistTestSuite extends TestSuite {
public ContentAssistTestSuite() {
super(ContentAssistTestSuite.class.getName());
- addTest( ContentAssistTests.suite() );
-
+ addTest(ContentAssistTests.suite());
}
}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTests.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTests.java
index b67a838ec67..83c2dde9ee5 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTests.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ContentAssistTests.java
@@ -13,7 +13,6 @@ package org.eclipse.cdt.ui.tests.text.contentassist;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
-import java.io.StringWriter;
import junit.framework.Test;
import junit.framework.TestSuite;
@@ -50,74 +49,74 @@ import org.eclipse.cdt.internal.ui.text.contentassist.CContentAssistProcessor;
* @author aniefer
*/
public class ContentAssistTests extends BaseUITestCase {
- private final NullProgressMonitor monitor= new NullProgressMonitor();
- static IProject project;
- static ICProject cproject;
- static boolean disabledHelpContributions = false;
+ private final NullProgressMonitor monitor= new NullProgressMonitor();
+ static IProject project;
+ static ICProject cproject;
+ static boolean disabledHelpContributions;
@Override
public void setUp() throws InterruptedException {
//(CCorePlugin.getDefault().getCoreModel().getIndexManager()).reset();
-
+
if (project == null) {
try {
cproject = CProjectHelper.createCCProject("ContentAssistTestProject", "bin", IPDOMManager.ID_FAST_INDEXER); //$NON-NLS-1$ //$NON-NLS-2$
project = cproject.getProject();
waitForIndexer(cproject);
- } catch ( CoreException e ) {
+ } catch (CoreException e) {
/*boo*/
}
if (project == null)
fail("Unable to create project"); //$NON-NLS-1$
}
}
- public ContentAssistTests()
- {
+
+ public ContentAssistTests() {
super();
}
+
/**
* @param name
*/
- public ContentAssistTests(String name)
- {
+ public ContentAssistTests(String name) {
super(name);
}
- private void disableContributions (){
+ private void disableContributions() {
//disable the help books so we don't get proposals we weren't expecting
CHelpBookDescriptor helpBooks[];
- helpBooks = CHelpProviderManager.getDefault().getCHelpBookDescriptors(new ICHelpInvocationContext(){
+ helpBooks = CHelpProviderManager.getDefault().getCHelpBookDescriptors(new ICHelpInvocationContext() {
@Override
- public IProject getProject(){return project;}
+ public IProject getProject() {return project;}
@Override
- public ITranslationUnit getTranslationUnit(){return null;}
+ public ITranslationUnit getTranslationUnit() {return null;}
}
);
for (CHelpBookDescriptor helpBook : helpBooks) {
- if( helpBook != null )
- helpBook.enable( false );
+ if (helpBook != null)
+ helpBook.enable(false);
}
}
public static Test suite() {
TestSuite suite= suite(ContentAssistTests.class, "_");
- suite.addTest( new ContentAssistTests("cleanupProject") ); //$NON-NLS-1$
+ suite.addTest(new ContentAssistTests("cleanupProject")); //$NON-NLS-1$
return suite;
}
public void cleanupProject() throws Exception {
closeAllEditors();
- try{
- project.delete( true, false, monitor );
+ try {
+ project.delete(true, false, monitor);
project = null;
- } catch( Throwable e ){
+ } catch (Throwable e) {
/*boo*/
}
}
@Override
protected void tearDown() throws Exception {
- if( project == null || !project.exists() )
+ if (project == null || !project.exists())
return;
closeAllEditors();
@@ -125,45 +124,46 @@ public class ContentAssistTests extends BaseUITestCase {
// wait for indexer before deleting project to avoid errors in the log
waitForIndexer(cproject);
- IResource [] members = project.members();
+ IResource[] members = project.members();
for (IResource member : members) {
- if( member.getName().equals( ".project" ) || member.getName().equals( ".cproject" ) ) //$NON-NLS-1$ //$NON-NLS-2$
+ if (member.getName().equals(".project") || member.getName().equals(".cproject")) //$NON-NLS-1$ //$NON-NLS-2$
continue;
if (member.getName().equals(".settings"))
continue;
- try{
- member.delete( false, monitor );
- } catch( Throwable e ){
+ try {
+ member.delete(false, monitor);
+ } catch (Throwable e) {
/*boo*/
}
}
}
- protected IFile importFile(String fileName, String contents ) throws Exception{
- //Obtain file handle
+ protected 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);
+ }
return file;
}
- protected ICompletionProposal[] getResults( IFile file, int offset ) throws Exception {
- if( !disabledHelpContributions )
+ protected ICompletionProposal[] getResults(IFile file, int offset) throws Exception {
+ if (!disabledHelpContributions)
disableContributions();
- ITranslationUnit tu = (ITranslationUnit)CoreModel.getDefault().create( file );
+ ITranslationUnit tu = (ITranslationUnit)CoreModel.getDefault().create(file);
String buffer = tu.getBuffer().getContents();
IWorkingCopy wc = null;
try{
wc = tu.getWorkingCopy();
- }catch (CModelException e){
+ } catch (CModelException e) {
fail("Failed to get working copy"); //$NON-NLS-1$
}
@@ -181,103 +181,103 @@ public class ContentAssistTests extends BaseUITestCase {
}
public void testBug69334a() throws Exception {
- importFile( "test.h", "class Test{ public : Test( int ); }; \n" ); //$NON-NLS-1$//$NON-NLS-2$
- StringWriter writer = new StringWriter();
- writer.write( "#include \"test.h\" \n"); //$NON-NLS-1$
- writer.write( "Test::Test( int i ) { return; } \n"); //$NON-NLS-1$
- writer.write( "int main() { \n"); //$NON-NLS-1$
- writer.write( " int veryLongName = 1; \n"); //$NON-NLS-1$
- writer.write( " Test * ptest = new Test( very \n"); //$NON-NLS-1$
+ importFile("test.h", "class Test{ public : Test( int ); }; \n"); //$NON-NLS-1$//$NON-NLS-2$
+ StringBuilder buf = new StringBuilder();
+ buf.append("#include \"test.h\" \n"); //$NON-NLS-1$
+ buf.append("Test::Test( int i ) { return; } \n"); //$NON-NLS-1$
+ buf.append("int main() { \n"); //$NON-NLS-1$
+ buf.append(" int veryLongName = 1; \n"); //$NON-NLS-1$
+ buf.append(" Test * ptest = new Test( very \n"); //$NON-NLS-1$
- String code = writer.toString();
- IFile cu = importFile( "test.cpp", code ); //$NON-NLS-1$
+ String code = buf.toString();
+ IFile cu = importFile("test.cpp", code); //$NON-NLS-1$
- ICompletionProposal [] results = getResults( cu, code.indexOf( "very " ) + 4 ); //$NON-NLS-1$
+ ICompletionProposal[] results = getResults(cu, code.indexOf("very ") + 4); //$NON-NLS-1$
- assertEquals( 1, results.length );
- assertEquals( "veryLongName : int", results[0].getDisplayString() ); //$NON-NLS-1$
+ assertEquals(1, results.length);
+ assertEquals("veryLongName : int", results[0].getDisplayString()); //$NON-NLS-1$
}
public void testBug69334b() throws Exception {
- importFile( "test.h", "class Test{ public : Test( int ); }; \n" ); //$NON-NLS-1$//$NON-NLS-2$
- StringWriter writer = new StringWriter();
- writer.write( "#include \"test.h\" \n"); //$NON-NLS-1$
- writer.write( "Test::Test( int i ) { return; } \n"); //$NON-NLS-1$
- writer.write( "int main() { \n"); //$NON-NLS-1$
- writer.write( " int veryLongName = 1; \n"); //$NON-NLS-1$
- writer.write( " Test test( very \n"); //$NON-NLS-1$
+ importFile("test.h", "class Test{ public : Test( int ); }; \n"); //$NON-NLS-1$//$NON-NLS-2$
+ StringBuilder buf = new StringBuilder();
+ buf.append("#include \"test.h\" \n"); //$NON-NLS-1$
+ buf.append("Test::Test( int i ) { return; } \n"); //$NON-NLS-1$
+ buf.append("int main() { \n"); //$NON-NLS-1$
+ buf.append(" int veryLongName = 1; \n"); //$NON-NLS-1$
+ buf.append(" Test test( very \n"); //$NON-NLS-1$
- String code = writer.toString();
- IFile cu = importFile( "test.cpp", code ); //$NON-NLS-1$
+ String code = buf.toString();
+ IFile cu = importFile("test.cpp", code); //$NON-NLS-1$
- ICompletionProposal [] results = getResults( cu, code.indexOf( "very " ) + 4 ); //$NON-NLS-1$
+ ICompletionProposal[] results = getResults(cu, code.indexOf("very ") + 4); //$NON-NLS-1$
- assertEquals( 1, results.length );
- assertEquals( "veryLongName : int", results[0].getDisplayString() ); //$NON-NLS-1$
+ assertEquals(1, results.length);
+ assertEquals("veryLongName : int", results[0].getDisplayString()); //$NON-NLS-1$
}
public void testBug72824() throws Exception {
- StringWriter writer = new StringWriter();
- writer.write( "class Strategy { \n"); //$NON-NLS-1$
- writer.write( "public : \n"); //$NON-NLS-1$
- writer.write( " enum _Ability { IDIOT, NORMAL, CHEAT } ; \n"); //$NON-NLS-1$
- writer.write( " Strategy( _Ability a ) { } \n"); //$NON-NLS-1$
- writer.write( " _Ability getAbility(); \n"); //$NON-NLS-1$
- writer.write( "}; \n"); //$NON-NLS-1$
- writer.write( "int main(){ \n"); //$NON-NLS-1$
+ StringBuilder buf = new StringBuilder();
+ buf.append("class Strategy { \n"); //$NON-NLS-1$
+ buf.append("public : \n"); //$NON-NLS-1$
+ buf.append(" enum _Ability { IDIOT, NORMAL, CHEAT } ; \n"); //$NON-NLS-1$
+ buf.append(" Strategy( _Ability a ) { } \n"); //$NON-NLS-1$
+ buf.append(" _Ability getAbility(); \n"); //$NON-NLS-1$
+ buf.append("}; \n"); //$NON-NLS-1$
+ buf.append("int main(){ \n"); //$NON-NLS-1$
- String code = writer.toString();
+ String code = buf.toString();
String c2 = code + " Strategy *p[3] = { new Strategy( Str \n"; //$NON-NLS-1$
- IFile cu = importFile( "strategy.cpp", c2 ); //$NON-NLS-1$
+ IFile cu = importFile("strategy.cpp", c2); //$NON-NLS-1$
- ICompletionProposal [] results = getResults( cu, c2.indexOf( "Str " ) + 3 ); //$NON-NLS-1$
- assertEquals( 1, results.length );
- assertEquals( "Strategy", results[0].getDisplayString() ); //$NON-NLS-1$
+ ICompletionProposal[] results = getResults(cu, c2.indexOf("Str ") + 3); //$NON-NLS-1$
+ assertEquals(1, results.length);
+ assertEquals("Strategy", results[0].getDisplayString()); //$NON-NLS-1$
c2 = code + " Strategy *p[3] = { new Strategy( Strategy:: \n"; //$NON-NLS-1$
- cu = importFile( "strategy.cpp", c2 ); //$NON-NLS-1$
+ cu = importFile("strategy.cpp", c2); //$NON-NLS-1$
- results = getResults( cu, c2.indexOf( "::" ) + 2 ); //$NON-NLS-1$
- assertEquals( 4, results.length );
- assertEquals( "CHEAT", results[0].getDisplayString() ); //$NON-NLS-1$
- assertEquals( "IDIOT", results[1].getDisplayString() ); //$NON-NLS-1$
- assertEquals( "NORMAL", results[2].getDisplayString() ); //$NON-NLS-1$
+ results = getResults(cu, c2.indexOf("::") + 2); //$NON-NLS-1$
+ assertEquals(4, results.length);
+ assertEquals("CHEAT", results[0].getDisplayString()); //$NON-NLS-1$
+ assertEquals("IDIOT", results[1].getDisplayString()); //$NON-NLS-1$
+ assertEquals("NORMAL", results[2].getDisplayString()); //$NON-NLS-1$
// "_Ability" is here due to fix for bug 199598
// Difficult to differentiate between declaration and expression context
- assertEquals( "_Ability", results[3].getDisplayString() ); //$NON-NLS-1$
+ assertEquals("_Ability", results[3].getDisplayString()); //$NON-NLS-1$
// in a method definition context, constructors and methods should be proposed
c2 = code + "return 0;}\nStrategy::\n"; //$NON-NLS-1$
- cu = importFile( "strategy.cpp", c2 ); //$NON-NLS-1$
+ cu = importFile("strategy.cpp", c2); //$NON-NLS-1$
- results = getResults( cu, c2.indexOf( "::" ) + 2 ); //$NON-NLS-1$
- assertEquals( 3, results.length );
- assertEquals( "getAbility(void) : enum _Ability", results[1].getDisplayString() ); //$NON-NLS-1$
- assertEquals( "Strategy(enum _Ability a)", results[0].getDisplayString() ); //$NON-NLS-1$
- assertEquals( "_Ability", results[2].getDisplayString() ); //$NON-NLS-1$
-}
+ results = getResults(cu, c2.indexOf("::") + 2); //$NON-NLS-1$
+ assertEquals(3, results.length);
+ assertEquals("getAbility(void) : enum _Ability", results[1].getDisplayString()); //$NON-NLS-1$
+ assertEquals("Strategy(enum _Ability a)", results[0].getDisplayString()); //$NON-NLS-1$
+ assertEquals("_Ability", results[2].getDisplayString()); //$NON-NLS-1$
+ }
public void testBug72559() throws Exception {
- StringWriter writer = new StringWriter();
- writer.write("void foo(){ \n"); //$NON-NLS-1$
- writer.write(" int var; \n"); //$NON-NLS-1$
- writer.write(" { \n"); //$NON-NLS-1$
- writer.write(" float var; \n"); //$NON-NLS-1$
- writer.write(" v \n"); //$NON-NLS-1$
- writer.write(" } \n"); //$NON-NLS-1$
- writer.write("} \n"); //$NON-NLS-1$
+ StringBuilder buf = new StringBuilder();
+ buf.append("void foo(){ \n"); //$NON-NLS-1$
+ buf.append(" int var; \n"); //$NON-NLS-1$
+ buf.append(" { \n"); //$NON-NLS-1$
+ buf.append(" float var; \n"); //$NON-NLS-1$
+ buf.append(" v \n"); //$NON-NLS-1$
+ buf.append(" } \n"); //$NON-NLS-1$
+ buf.append("} \n"); //$NON-NLS-1$
- String code = writer.toString();
- IFile cu = importFile( "t.cpp", code ); //$NON-NLS-1$
- ICompletionProposal [] results = getResults( cu, code.indexOf( "v " ) + 1 ); //$NON-NLS-1$
+ String code = buf.toString();
+ IFile cu = importFile("t.cpp", code); //$NON-NLS-1$
+ ICompletionProposal[] results = getResults(cu, code.indexOf("v ") + 1); //$NON-NLS-1$
- assertEquals( results.length, 3 );
- assertEquals( results[0].getDisplayString(), "var : float" ); //$NON-NLS-1$
- assertEquals( results[1].getDisplayString(), "virtual" ); //$NON-NLS-1$
- assertEquals( results[2].getDisplayString(), "volatile" ); //$NON-NLS-1$
+ assertEquals(results.length, 3);
+ assertEquals(results[0].getDisplayString(), "var : float"); //$NON-NLS-1$
+ assertEquals(results[1].getDisplayString(), "virtual"); //$NON-NLS-1$
+ assertEquals(results[2].getDisplayString(), "volatile"); //$NON-NLS-1$
}
}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ProposalFilterPreferencesTest.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ProposalFilterPreferencesTest.java
index 1016f48e0d1..3b3738b3bb8 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ProposalFilterPreferencesTest.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/ProposalFilterPreferencesTest.java
@@ -6,7 +6,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Norbert Ploett (Seimens) - Initial Contribution
+ * Norbert Ploett (Seimens) - Initial Contribution
*******************************************************************************/
package org.eclipse.cdt.ui.tests.text.contentassist;
@@ -27,7 +27,7 @@ import org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistPreference;
public class ProposalFilterPreferencesTest extends TestCase {
public void testPreferences() {
- // Check that the test filter is among the filternames
+ // Check that the test filter is among the filter names.
String[] filterNames = ProposalFilterPreferencesUtil.getProposalFilterNames();
int index = -1 ;
for (int i = 0; i < filterNames.length; i++) {
@@ -44,7 +44,7 @@ public class ProposalFilterPreferencesTest extends TestCase {
String filterComboStateString = store.getString(ContentAssistPreference.PROPOSALS_FILTER);
ProposalFilterPreferencesUtil.ComboState state = ProposalFilterPreferencesUtil.getComboState(filterComboStateString);
StringBuffer newStateText = new StringBuffer();
- newStateText.append(index+1); // First entry is always the , index+1 must be selected
+ newStateText.append(index + 1); // First entry is always the , index+1 must be selected
for (int i = 0; i < state.items.length; i++) {
String item = state.items[i];
newStateText.append(";");
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/TestProposalFilter.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/TestProposalFilter.java
index cea9f92c6f7..ee9980c585d 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/TestProposalFilter.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist/TestProposalFilter.java
@@ -6,7 +6,7 @@
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
- * Norbert Ploett (Seimens) - Initial Contribution
+ * Norbert Ploett (Seimens) - Initial Contribution
*******************************************************************************/
package org.eclipse.cdt.ui.tests.text.contentassist;
@@ -17,14 +17,11 @@ import org.eclipse.cdt.ui.text.contentassist.IProposalFilter;
* Dummy filter implementation for testing purposes
*/
public class TestProposalFilter implements IProposalFilter {
-
/**
* This dummy filter method will return the original proposals unmodified.
*/
@Override
- public ICCompletionProposal[] filterProposals(
- ICCompletionProposal[] proposals) {
+ public ICCompletionProposal[] filterProposals(ICCompletionProposal[] proposals) {
return proposals ;
}
-
}
diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ParameterHintTests.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ParameterHintTests.java
index 817b98296da..3971ed282f9 100644
--- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ParameterHintTests.java
+++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/ParameterHintTests.java
@@ -55,7 +55,7 @@ public class ParameterHintTests extends AbstractContentAssistTest {
protected IFile setUpProjectContent(IProject project) throws Exception {
String headerContent= readTaggedComment(HEADER_FILE_NAME);
StringBuilder sourceContent= getContentsForTest(1)[0];
- sourceContent.insert(0, "#include \""+HEADER_FILE_NAME+"\"\n");
+ sourceContent.insert(0, "#include \"" + HEADER_FILE_NAME + "\"\n");
assertNotNull(createFile(project, HEADER_FILE_NAME, headerContent));
return createFile(project, SOURCE_FILE_NAME, sourceContent.toString());
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CParameterListValidator.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CParameterListValidator.java
index 61980e0ca26..3d8c2ea9c74 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CParameterListValidator.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/CParameterListValidator.java
@@ -14,9 +14,6 @@ package org.eclipse.cdt.internal.ui.text;
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.StyleRange;
-
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.IDocument;
@@ -25,13 +22,14 @@ import org.eclipse.jface.text.TextPresentation;
import org.eclipse.jface.text.contentassist.IContextInformation;
import org.eclipse.jface.text.contentassist.IContextInformationPresenter;
import org.eclipse.jface.text.contentassist.IContextInformationValidator;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.StyleRange;
/**
- * This class provides the function parameter parsing for the C/C++ Editor hover
- * It is based heavily on the Java class JavaParameterListValidator
+ * This class provides the function parameter parsing for the C/C++ Editor hover.
+ * It is based heavily on the Java class JavaParameterListValidator.
*
* @author thomasf
- *
*/
public class CParameterListValidator implements IContextInformationValidator, IContextInformationPresenter {
private int fPosition;
@@ -49,7 +47,6 @@ public class CParameterListValidator implements IContextInformationValidator, IC
*/
@Override
public void install(IContextInformation info, ITextViewer viewer, int documentPosition) {
-
fPosition= documentPosition;
fViewer= viewer;
fInformation= info;
@@ -86,7 +83,6 @@ public class CParameterListValidator implements IContextInformationValidator, IC
private int getCharCount(IDocument document, int start, int end,
char increment, char decrement, boolean considerNesting) throws BadLocationException {
-
Assert.isTrue((increment != 0 || decrement != 0) && increment != decrement);
int nestingLevel = 0;
@@ -94,54 +90,56 @@ public class CParameterListValidator implements IContextInformationValidator, IC
while (start < end) {
char curr = document.getChar(start++);
switch (curr) {
- case '/':
- if (start < end) {
- char next= document.getChar(start);
- if (next == '*') {
- // a comment starts, advance to the comment end
- start= getCommentEnd(document, start + 1, end);
- } else if (next == '/') {
- // '//'-comment: nothing to do anymore on this line
- start= end;
- }
+ case '/':
+ if (start < end) {
+ char next= document.getChar(start);
+ if (next == '*') {
+ // A comment starts, advance to the comment end.
+ start= getCommentEnd(document, start + 1, end);
+ } else if (next == '/') {
+ // '//'-comment: nothing to do anymore on this line
+ start= end;
}
- break;
- case '*':
- if (start < end) {
- char next= document.getChar(start);
- if (next == '/') {
- // we have been in a comment: forget what we read before
- charCount= 0;
- ++ start;
- }
+ }
+ break;
+
+ case '*':
+ if (start < end) {
+ char next= document.getChar(start);
+ if (next == '/') {
+ // We have been in a comment: forget what we read before.
+ charCount= 0;
+ ++ start;
+ }
+ }
+ break;
+
+ case '"':
+ case '\'':
+ start= getStringEnd(document, start, end, curr);
+ break;
+
+ default:
+ if (considerNesting) {
+ if ('(' == curr) {
+ ++nestingLevel;
+ } else if (')' == curr) {
+ --nestingLevel;
}
- break;
- case '"':
- case '\'':
- start= getStringEnd(document, start, end, curr);
- break;
- default:
-
- if (considerNesting) {
- if ('(' == curr)
- ++ nestingLevel;
- else if (')' == curr)
- -- nestingLevel;
-
- if (nestingLevel != 0)
- break;
- }
-
- if (increment != 0) {
- if (curr == increment)
- ++ charCount;
- }
-
- if (decrement != 0) {
- if (curr == decrement)
- -- charCount;
- }
+ if (nestingLevel != 0)
+ break;
+ }
+
+ if (increment != 0) {
+ if (curr == increment)
+ ++charCount;
+ }
+
+ if (decrement != 0) {
+ if (curr == decrement)
+ --charCount;
+ }
}
}
@@ -153,26 +151,19 @@ public class CParameterListValidator implements IContextInformationValidator, IC
*/
@Override
public boolean isContextInformationValid(int position) {
-
try {
if (position < fPosition)
return false;
IDocument document= fViewer.getDocument();
-
- return (getCharCount(document, fPosition, position, '(', ')', false) >= 0);
-
+ return getCharCount(document, fPosition, position, '(', ')', false) >= 0;
} catch (BadLocationException x) {
return false;
}
}
- /**
- * @see IContextInformationPresenter#updatePresentation(int, TextPresentation)
- */
@Override
public boolean updatePresentation(int position, TextPresentation presentation) {
-
int currentParameter= -1;
try {
@@ -189,7 +180,7 @@ public class CParameterListValidator implements IContextInformationValidator, IC
presentation.clear();
fCurrentParameter= currentParameter;
- //Don't presume what has been done to the string, rather use as is
+ // Don't presume what has been done to the string, rather use as is.
String s= fInformation.getInformationDisplayString();
int[] commas= computeCommaPositions(s);
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProposal.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProposal.java
index 981f4cd2d90..8ca51bddd5c 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProposal.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CCompletionProposal.java
@@ -1,18 +1,16 @@
/*******************************************************************************
- * Copyright (c) 2004, 2011 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
+ * Copyright (c) 2004, 2011 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:
+ * Contributors:
* IBM Rational Software - Initial API and implementation
* Jens Elmenthaler - http://bugs.eclipse.org/173458 (camel case completion)
*******************************************************************************/
-
package org.eclipse.cdt.internal.ui.text.contentassist;
-
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
@@ -59,7 +57,6 @@ import org.eclipse.cdt.internal.ui.text.CTextTools;
public class CCompletionProposal implements ICCompletionProposal, ICompletionProposalExtension, ICompletionProposalExtension2, ICompletionProposalExtension3 {
-
private String fDisplayString;
private String fIdString;
private String fReplacementString;
@@ -85,7 +82,7 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
* @param replacementLength the length of the text to be replaced
* @param image the image to display for this proposal
* @param displayString the string to be displayed for the proposal
- * If set to null
, the replacement string will be taken as display string.
+ * If set to {@code null}, the replacement string will be taken as display string.
*/
public CCompletionProposal(String replacementString, int replacementOffset, int replacementLength, Image image, String displayString, int relevance) {
this(replacementString, replacementOffset, replacementLength, image, displayString, null, relevance, null);
@@ -99,8 +96,8 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
* @param replacementLength the length of the text to be replaced
* @param image the image to display for this proposal
* @param displayString the string to be displayed for the proposal
- * @param viewer the text viewer for which this proposal is computed, may be null
- * If set to null
, the replacement string will be taken as display string.
+ * @param viewer the text viewer for which this proposal is computed, may be {@code null}
+ * If set to {@code null}, the replacement string will be taken as display string.
*/
public CCompletionProposal(String replacementString, int replacementOffset, int replacementLength, Image image, String displayString, int relevance, ITextViewer viewer) {
this(replacementString, replacementOffset, replacementLength, image, displayString, null, relevance, viewer);
@@ -115,8 +112,8 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
* @param image the image to display for this proposal
* @param displayString the string to be displayed for the proposal
* @param idString the string to be uniquely identify this proposal
- * @param viewer the text viewer for which this proposal is computed, may be null
- * If set to null
, the replacement string will be taken as display string.
+ * @param viewer the text viewer for which this proposal is computed, may be {@code null}
+ * If set to {@code null}, the replacement string will be taken as display string.
*/
public CCompletionProposal(String replacementString, int replacementOffset, int replacementLength, Image image, String displayString, String idString, int relevance, ITextViewer viewer) {
Assert.isNotNull(replacementString);
@@ -160,7 +157,7 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
/**
* Sets the proposal info.
- * @param proposalInfo The additional information associated with this proposal or null
+ * @param proposalInfo The additional information associated with this proposal or {@code null}
*/
public void setAdditionalProposalInfo(String proposalInfo) {
fProposalInfo= proposalInfo;
@@ -174,12 +171,9 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
public void setCursorPosition(int cursorPosition) {
Assert.isTrue(cursorPosition >= 0);
fCursorPosition= cursorPosition;
- fContextInformationPosition= (fContextInformation != null ? fCursorPosition : -1);
+ fContextInformationPosition= fContextInformation != null ? fCursorPosition : -1;
}
- /*
- * @see ICompletionProposalExtension#apply(IDocument, char, int)
- */
@Override
public void apply(IDocument document, char trigger, int offset) {
try {
@@ -192,7 +186,7 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
if (trigger == (char) 0) {
string= fReplacementString;
} else {
- StringBuffer buffer= new StringBuffer(fReplacementString);
+ StringBuilder buffer= new StringBuilder(fReplacementString);
// fix for PR #5533. Assumes that no eating takes place.
if ((fCursorPosition > 0 && fCursorPosition <= buffer.length() && buffer.charAt(fCursorPosition - 1) != trigger)) {
@@ -233,9 +227,8 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
ui.enter();
}
}
-
} catch (BadLocationException x) {
- // ignore
+ // Ignore
}
}
@@ -243,7 +236,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
* A class to simplify tracking a reference position in a document.
*/
private static final class ReferenceTracker {
-
/** The reference position category name. */
private static final String CATEGORY= "reference_position"; //$NON-NLS-1$
/** The position updater of the reference position. */
@@ -255,7 +247,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
* Called before document changes occur. It must be followed by a call to postReplace().
*
* @param document the document on which to track the reference position.
- *
*/
public void preReplace(IDocument document, int offset) throws BadLocationException {
fPosition.setOffset(offset);
@@ -263,9 +254,8 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
document.addPositionCategory(CATEGORY);
document.addPositionUpdater(fPositionUpdater);
document.addPosition(CATEGORY, fPosition);
-
} catch (BadPositionCategoryException e) {
- // should not happen
+ // Should not happen
CUIPlugin.log(e);
}
}
@@ -280,9 +270,8 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
document.removePosition(CATEGORY, fPosition);
document.removePositionUpdater(fPositionUpdater);
document.removePositionCategory(CATEGORY);
-
} catch (BadPositionCategoryException e) {
- // should not happen
+ // Should not happen
CUIPlugin.log(e);
}
return fPosition.getOffset();
@@ -290,19 +279,14 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
}
protected static class ExitPolicy implements IExitPolicy {
-
final char fExitCharacter;
public ExitPolicy(char exitCharacter) {
fExitCharacter= exitCharacter;
}
- /*
- * @see org.eclipse.jdt.internal.ui.text.link.LinkedPositionUI.ExitPolicy#doExit(org.eclipse.jdt.internal.ui.text.link.LinkedPositionManager, org.eclipse.swt.events.VerifyEvent, int, int)
- */
@Override
public ExitFlags doExit(LinkedModeModel environment, VerifyEvent event, int offset, int length) {
-
if (event.character == fExitCharacter) {
if (environment.anyPositionContains(offset))
return new ExitFlags(ILinkedModeListener.UPDATE_CARET, false);
@@ -318,7 +302,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
return null;
}
}
-
}
// #6410 - File unchanged but dirtied by code assist
@@ -335,33 +318,21 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
apply(document, (char) 0, fReplacementOffset + fReplacementLength);
}
- /*
- * @see ICompletionProposal#getSelection
- */
@Override
public Point getSelection(IDocument document) {
return new Point(fReplacementOffset + fCursorPosition, 0);
}
- /*
- * @see ICompletionProposal#getContextInformation()
- */
@Override
public IContextInformation getContextInformation() {
return fContextInformation;
}
- /*
- * @see ICompletionProposal#getImage()
- */
@Override
public Image getImage() {
return fImage;
}
- /*
- * @see ICompletionProposal#getDisplayString()
- */
@Override
public String getDisplayString() {
return fDisplayString;
@@ -377,9 +348,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
return fIdString;
}
- /*
- * @see ICompletionProposal#getAdditionalProposalInfo()
- */
@Override
public String getAdditionalProposalInfo() {
if (fProposalInfo != null) {
@@ -388,17 +356,11 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
return null;
}
- /*
- * @see ICompletionProposalExtension#getTriggerCharacters()
- */
@Override
public char[] getTriggerCharacters() {
return fTriggerCharacters;
}
- /*
- * @see ICompletionProposalExtension#getContextInformationPosition()
- */
@Override
public int getContextInformationPosition() {
return fReplacementOffset + fContextInformationPosition;
@@ -412,9 +374,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
return fReplacementOffset;
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getCompletionOffset()
- */
@Override
public int getPrefixCompletionStart(IDocument document, int completionOffset) {
return getReplacementOffset();
@@ -454,9 +413,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
return fReplacementString;
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getReplacementText()
- */
@Override
public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
String string= getReplacementString();
@@ -482,27 +438,20 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
fImage= image;
}
- /*
- * @see ICompletionProposalExtension#isValidFor(IDocument, int)
- */
@Override
public boolean isValidFor(IDocument document, int offset) {
return validate(document, offset, null);
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#validate(org.eclipse.jface.text.IDocument, int, org.eclipse.jface.text.DocumentEvent)
- */
@Override
public boolean validate(IDocument document, int offset, DocumentEvent event) {
-
if (offset < fReplacementOffset)
return false;
boolean validated= match(document, offset, fReplacementString);
if (validated && event != null) {
- // adapt replacement range to document change
+ // Adapt replacement range to document change
int delta= (event.fText == null ? 0 : event.fText.length()) - event.fLength;
fReplacementLength += delta;
}
@@ -528,8 +477,8 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
}
/**
- * Returns true
if a words matches the code completion prefix in the document,
- * false
otherwise.
+ * Returns {@code true} if a words matches the code completion prefix in the document,
+ * {@code false} otherwise.
*/
protected boolean match(IDocument document, int offset, String word) {
if (word == null)
@@ -554,15 +503,11 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
return preference.getBoolean(ContentAssistPreference.AUTOINSERT);
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension1#apply(org.eclipse.jface.text.ITextViewer, char, int, int)
- */
@Override
public void apply(ITextViewer viewer, char trigger, int stateMask, int offset) {
-
IDocument document= viewer.getDocument();
- // don't eat if not in preferences, XOR with modifier key 1 (Ctrl)
+ // Don't eat if not in preferences, XOR with modifier key 1 (Ctrl)
// but: if there is a selection, replace it!
Point selection= viewer.getSelectedRange();
fToggleEating= (stateMask & SWT.MOD1) != 0;
@@ -574,7 +519,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
}
private static Color getForegroundColor(StyledText text) {
-
IPreferenceStore preference= CUIPlugin.getDefault().getPreferenceStore();
RGB rgb= PreferenceConverter.getColor(preference, ContentAssistPreference.PROPOSALS_FOREGROUND);
CTextTools textTools= CUIPlugin.getDefault().getTextTools();
@@ -582,7 +526,6 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
}
private static Color getBackgroundColor(StyledText text) {
-
IPreferenceStore preference= CUIPlugin.getDefault().getPreferenceStore();
RGB rgb= PreferenceConverter.getColor(preference, ContentAssistPreference.PROPOSALS_BACKGROUND);
CTextTools textTools= CUIPlugin.getDefault().getTextTools();
@@ -592,27 +535,24 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
private void repairPresentation(ITextViewer viewer) {
if (fRememberedStyleRange != null) {
if (viewer instanceof ITextViewerExtension2) {
- // attempts to reduce the redraw area
+ // Attempts to reduce the redraw area
ITextViewerExtension2 viewer2= (ITextViewerExtension2) viewer;
if (viewer instanceof ITextViewerExtension5) {
-
ITextViewerExtension5 extension= (ITextViewerExtension5) viewer;
IRegion widgetRange= extension.modelRange2WidgetRange(new Region(fRememberedStyleRange.start, fRememberedStyleRange.length));
if (widgetRange != null)
viewer2.invalidateTextPresentation(widgetRange.getOffset(), widgetRange.getLength());
-
} else {
viewer2.invalidateTextPresentation(fRememberedStyleRange.start + viewer.getVisibleRegion().getOffset(), fRememberedStyleRange.length);
}
-
- } else
+ } else {
viewer.invalidateTextPresentation();
+ }
}
}
private void updateStyle(ITextViewer viewer) {
-
StyledText text= viewer.getTextWidget();
if (text == null || text.isDisposed())
return;
@@ -649,36 +589,27 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
try {
text.setStyleRange(fRememberedStyleRange);
} catch (IllegalArgumentException x) {
- // catching exception as offset + length might be outside of the text widget
+ // Catching exception as offset + length might be outside of the text widget
fRememberedStyleRange= null;
}
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#selected(ITextViewer, boolean)
- */
@Override
public void selected(ITextViewer viewer, boolean smartToggle) {
- if (!insertCompletion() ^ smartToggle)
+ if (!insertCompletion() ^ smartToggle) {
updateStyle(viewer);
- else {
+ } else {
repairPresentation(viewer);
fRememberedStyleRange= null;
}
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension2#unselected(ITextViewer)
- */
@Override
public void unselected(ITextViewer viewer) {
repairPresentation(viewer);
fRememberedStyleRange= null;
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposalExtension3#getInformationControlCreator()
- */
@Override
public IInformationControlCreator getInformationControlCreator() {
return null;
@@ -692,22 +623,15 @@ public class CCompletionProposal implements ICCompletionProposal, ICompletionPro
setReplacementLength(length);
}
- /*
- * @see java.lang.Object#hashCode()
- */
@Override
public int hashCode() {
return fIdString.hashCode();
}
- /*
- * @see java.lang.Object#equals(java.lang.Object)
- */
@Override
public boolean equals(Object other) {
if(!(other instanceof ICCompletionProposal))
return false;
return fIdString.equalsIgnoreCase(((ICCompletionProposal)other).getIdString());
}
-
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistProcessor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistProcessor.java
index 5845ff6eb32..72db7a0dbec 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistProcessor.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CContentAssistProcessor.java
@@ -38,7 +38,6 @@ import org.eclipse.cdt.core.dom.ast.IASTExpression;
import org.eclipse.cdt.core.dom.ast.IASTFieldReference;
import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IPointerType;
-
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.text.ICCompletionProposal;
import org.eclipse.cdt.ui.text.contentassist.ContentAssistInvocationContext;
@@ -55,17 +54,17 @@ import org.eclipse.cdt.internal.ui.text.Symbols;
public class CContentAssistProcessor extends ContentAssistProcessor {
private static class ActivationSet {
- private final String theSet;
+ private final String set;
ActivationSet(String s) {
- theSet = s;
+ set = s;
}
boolean contains(char c) {
- return -1 != theSet.indexOf(c);
+ return -1 != set.indexOf(c);
}
}
-
+
/**
* A wrapper for {@link ICompetionProposal}s.
*/
@@ -76,65 +75,41 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
fWrappedProposal= proposal;
}
- /*
- * @see org.eclipse.cdt.ui.text.ICCompletionProposal#getIdString()
- */
@Override
public String getIdString() {
return fWrappedProposal.getDisplayString();
}
- /*
- * @see org.eclipse.cdt.ui.text.ICCompletionProposal#getRelevance()
- */
@Override
public int getRelevance() {
return RelevanceConstants.CASE_MATCH_RELEVANCE + RelevanceConstants.KEYWORD_TYPE_RELEVANCE;
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#apply(org.eclipse.jface.text.IDocument)
- */
@Override
public void apply(IDocument document) {
throw new UnsupportedOperationException();
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getAdditionalProposalInfo()
- */
@Override
public String getAdditionalProposalInfo() {
return fWrappedProposal.getAdditionalProposalInfo();
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getContextInformation()
- */
@Override
public IContextInformation getContextInformation() {
return fWrappedProposal.getContextInformation();
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getDisplayString()
- */
@Override
public String getDisplayString() {
return fWrappedProposal.getDisplayString();
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getImage()
- */
@Override
public Image getImage() {
return fWrappedProposal.getImage();
}
- /*
- * @see org.eclipse.jface.text.contentassist.ICompletionProposal#getSelection(org.eclipse.jface.text.IDocument)
- */
@Override
public Point getSelection(IDocument document) {
return fWrappedProposal.getSelection(document);
@@ -158,9 +133,6 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
fEditor= editor;
}
- /*
- * @see org.eclipse.jface.text.contentassist.IContentAssistProcessor#getContextInformationValidator()
- */
@Override
public IContextInformationValidator getContextInformationValidator() {
if (fValidator == null) {
@@ -169,43 +141,40 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
return fValidator;
}
- /*
- * @see org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistProcessor#filterAndSort(List, IProgressMonitor)
- */
@Override
protected List filterAndSortProposals(List proposals,
IProgressMonitor monitor, ContentAssistInvocationContext context) {
IProposalFilter filter = getCompletionFilter();
ICCompletionProposal[] proposalsInput= new ICCompletionProposal[proposals.size()];
- // wrap proposals which are no ICCompletionProposals
+ // Wrap proposals which are no ICCompletionProposals.
boolean wrapped= false;
int i= 0;
for (ICompletionProposal proposal : proposals) {
if (proposal instanceof ICCompletionProposal) {
- proposalsInput[i++]= (ICCompletionProposal)proposal;
+ proposalsInput[i++]= (ICCompletionProposal) proposal;
} else {
wrapped= true;
proposalsInput[i++]= new CCompletionProposalWrapper(proposal);
}
}
- // filter
+ // Filter.
ICCompletionProposal[] proposalsFiltered = filter.filterProposals(proposalsInput);
- // sort
+ // Sort.
boolean sortByAlphabet= CUIPlugin.getDefault().getPreferenceStore().getBoolean(ContentAssistPreference.ORDER_PROPOSALS);
if (sortByAlphabet) {
- // already sorted alphabetically by DefaultProposalFilter
- // in case of custom proposal filter, keep ordering applied by filter
+ // Already sorted alphabetically by DefaultProposalFilter
+ // in case of custom proposal filter, keep ordering applied by filter.
} else {
- // sort by relevance
+ // Sort by relevance.
CCompletionProposalComparator propsComp= new CCompletionProposalComparator();
propsComp.setOrderAlphabetically(sortByAlphabet);
Arrays.sort(proposalsFiltered, propsComp);
}
List filteredList;
if (wrapped) {
- // unwrap again
- filteredList= new ArrayList(proposalsFiltered.length);
+ // Unwrap again.
+ filteredList= new ArrayList<>(proposalsFiltered.length);
for (ICCompletionProposal proposal : proposalsFiltered) {
if (proposal instanceof CCompletionProposalWrapper) {
filteredList.add(((CCompletionProposalWrapper)proposal).unwrap());
@@ -231,20 +200,20 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
}
}
} catch (InvalidRegistryObjectException e) {
- // No action required since we will be using the fail-safe default filter
+ // No action required since we will be using the fail-safe default filter.
CUIPlugin.log(e);
} catch (CoreException e) {
- // No action required since we will be using the fail-safe default filter
+ // No action required since we will be using the fail-safe default filter.
CUIPlugin.log(e);
}
if (filter == null) {
- // fail-safe default implementation
+ // Fail-safe default implementation.
filter = new DefaultProposalFilter();
}
return filter;
}
-
+
@Override
protected List filterAndSortContextInformation(List contexts,
IProgressMonitor monitor) {
@@ -287,9 +256,6 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
fCContentAutoActivationCharacters= new ActivationSet(activationSet);
}
- /*
- * @see org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistProcessor#createContext(org.eclipse.jface.text.ITextViewer, int)
- */
@Override
protected ContentAssistInvocationContext createContext(ITextViewer viewer, int offset, boolean isCompletion) {
char activationChar = getActivationChar(viewer, offset);
@@ -309,7 +275,7 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
}
}
if (context != null && isAutoActivated() && !fCContentAutoActivationCharacters.contains(activationChar)) {
- // auto-replace, but not auto-content-assist - bug 344387
+ // Auto-replace, but not auto-content-assist - bug 344387.
context.dispose();
context = null;
}
@@ -325,21 +291,22 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
doc.replace(offset - 1, 1, "->"); //$NON-NLS-1$
context.dispose();
context = null;
- // if user turned on activation only for replacement characters,
- // setting the context to null will skip the proposals popup later
+ // If user turned on activation only for replacement characters,
+ // setting the context to null will skip the proposals popup later.
if (!isAutoActivated() || fCContentAutoActivationCharacters.contains(activationChar)) {
context = new CContentAssistInvocationContext(viewer, offset + 1, fEditor,
isCompletion, isAutoActivated());
}
} catch (BadLocationException e) {
- // ignore
+ // Ignore
}
return context;
}
/**
- * Get the character preceding the content assist activation offset.
- * @param viewer
+ * Returns the character preceding the content assist activation offset.
+ *
+ * @param viewer
* @param offset
* @return the activation character
*/
@@ -358,9 +325,6 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
return 0;
}
- /*
- * @see org.eclipse.cdt.internal.ui.text.contentassist.ContentAssistProcessor#verifyAutoActivation(org.eclipse.jface.text.ITextViewer, int)
- */
@Override
protected boolean verifyAutoActivation(ITextViewer viewer, int offset) {
IDocument doc= viewer.getDocument();
@@ -378,12 +342,12 @@ public class CContentAssistProcessor extends ContentAssistProcessor {
case '>':
return offset > 0 && doc.getChar(--offset) == '-';
case '.':
- // avoid completion of float literals
+ // Avoid completion of float literals
CHeuristicScanner scanner= new CHeuristicScanner(doc);
int token= scanner.previousToken(--offset, Math.max(0, offset - 200));
- // the scanner reports numbers as identifiers
+ // The scanner reports numbers as identifiers
if (token == Symbols.TokenIDENT && !Character.isJavaIdentifierStart(doc.getChar(scanner.getPosition() + 1))) {
- // not a valid identifier
+ // Not a valid identifier
return false;
}
return true;
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CProposalContextInformation.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CProposalContextInformation.java
index 20d5fb8414a..a815ce22ec5 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CProposalContextInformation.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CProposalContextInformation.java
@@ -8,9 +8,6 @@
* Contributors:
* IBM Corp. - Rational Software - initial implementation
*******************************************************************************/
-/*
- * Created on May 6, 2004
- */
package org.eclipse.cdt.internal.ui.text.contentassist;
import org.eclipse.jface.text.contentassist.IContextInformation;
@@ -55,9 +52,6 @@ public class CProposalContextInformation implements IContextInformation, IContex
fInformationDisplayString= informationDisplayString;
}
- /*
- * @see IContextInformation#equals(Object)
- */
@Override
public boolean equals(Object object) {
if (object instanceof IContextInformation) {
@@ -70,40 +64,29 @@ public class CProposalContextInformation implements IContextInformation, IContex
return false;
}
- /*
- * @see IContextInformation#getInformationDisplayString()
- */
@Override
public String getInformationDisplayString() {
return fInformationDisplayString;
}
- /*
- * @see IContextInformation#getImage()
- */
@Override
public Image getImage() {
return fImage;
}
- /*
- * @see IContextInformation#getContextDisplayString()
- */
@Override
public String getContextDisplayString() {
if (fContextDisplayString != null)
return fContextDisplayString;
return fInformationDisplayString;
}
- /* (non-Javadoc)
- * @see org.eclipse.jface.text.contentassist.IContextInformationExtension#getContextInformationPosition()
- */
+
@Override
public int getContextInformationPosition() {
return fInformationPosition;
}
- public void setContextInformationPosition( int pos ){
+ public void setContextInformationPosition(int pos) {
fInformationPosition = pos;
}
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionProposalCategory.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionProposalCategory.java
index 81c1cdf8093..84297623452 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionProposalCategory.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionProposalCategory.java
@@ -48,7 +48,7 @@ public final class CompletionProposalCategory {
private final String fId;
private final String fName;
private final IConfigurationElement fElement;
- /** The image descriptor for this category, or null
if none specified. */
+ /** The image descriptor for this category, or {@code null} if none specified. */
private final ImageDescriptor fImage;
private boolean fIsSeparateCommand= true;
@@ -57,7 +57,7 @@ public final class CompletionProposalCategory {
private final CompletionProposalComputerRegistry fRegistry;
private int fSortOrder= 0x10000;
- private String fLastError= null;
+ private String fLastError;
CompletionProposalCategory(IConfigurationElement element, CompletionProposalComputerRegistry registry) throws CoreException {
fElement= element;
@@ -66,10 +66,11 @@ public final class CompletionProposalCategory {
fId= parent.getUniqueIdentifier();
checkNotNull(fId, "id"); //$NON-NLS-1$
String name= parent.getLabel();
- if (name == null)
+ if (name == null) {
fName= fId;
- else
+ } else {
fName= name;
+ }
String icon= element.getAttribute(ICON);
ImageDescriptor img= null;
@@ -100,11 +101,11 @@ public final class CompletionProposalCategory {
}
/**
- * Checks that the given attribute value is not null
.
+ * Checks that the given attribute value is not {@code null}.
*
* @param value the element to be checked
* @param attribute the attribute
- * @throws CoreException if value
is null
+ * @throws CoreException if {@code value} is {@code null}
*/
private void checkNotNull(Object obj, String attribute) throws CoreException {
if (obj == null) {
@@ -195,10 +196,10 @@ public final class CompletionProposalCategory {
}
/**
- * Returns true
if the category contains any computers, false
+ * Returns {@code true} if the category contains any computers, {@code false}
* otherwise.
*
- * @return true
if the category contains any computers, false
+ * @return {@code true} if the category contains any computers, {@code false}
* otherwise
*/
public boolean hasComputers() {
@@ -211,12 +212,11 @@ public final class CompletionProposalCategory {
}
/**
- * Returns true
if the category contains any computers in the given partition, false
- * otherwise.
+ * Returns {@code true} if the category contains any computers in the given partition,
+ * {@code false} otherwise.
*
* @param partition the partition
- * @return true
if the category contains any computers, false
- * otherwise
+ * @return {@code true} if the category contains any computers, {@code false} otherwise
*/
public boolean hasComputers(String partition) {
List descriptors= fRegistry.getProposalComputerDescriptors(partition);
@@ -254,8 +254,8 @@ public final class CompletionProposalCategory {
*/
public List computeCompletionProposals(ContentAssistInvocationContext context, String partition, SubProgressMonitor monitor) {
fLastError= null;
- List result= new ArrayList();
- List descriptors= new ArrayList(fRegistry.getProposalComputerDescriptors(partition));
+ List result= new ArrayList<>();
+ List descriptors= new ArrayList<>(fRegistry.getProposalComputerDescriptors(partition));
for (CompletionProposalComputerDescriptor desc : descriptors) {
if (desc.getCategory() == this)
result.addAll(desc.computeCompletionProposals(context, monitor));
@@ -278,8 +278,8 @@ public final class CompletionProposalCategory {
*/
public List computeContextInformation(ContentAssistInvocationContext context, String partition, SubProgressMonitor monitor) {
fLastError= null;
- List result= new ArrayList();
- List descriptors= new ArrayList(fRegistry.getProposalComputerDescriptors(partition));
+ List result= new ArrayList<>();
+ List descriptors= new ArrayList<>(fRegistry.getProposalComputerDescriptors(partition));
for (CompletionProposalComputerDescriptor desc : descriptors) {
if (desc.getCategory() == this)
result.addAll(desc.computeContextInformation(context, monitor));
@@ -302,7 +302,7 @@ public final class CompletionProposalCategory {
* Notifies the computers in this category of a proposal computation session start.
*/
public void sessionStarted() {
- List descriptors= new ArrayList(fRegistry.getProposalComputerDescriptors());
+ List descriptors= new ArrayList<>(fRegistry.getProposalComputerDescriptors());
for (CompletionProposalComputerDescriptor desc : descriptors) {
if (desc.getCategory() == this)
desc.sessionStarted();
@@ -315,7 +315,7 @@ public final class CompletionProposalCategory {
* Notifies the computers in this category of a proposal computation session end.
*/
public void sessionEnded() {
- List descriptors= new ArrayList(fRegistry.getProposalComputerDescriptors());
+ List descriptors= new ArrayList<>(fRegistry.getProposalComputerDescriptors());
for (CompletionProposalComputerDescriptor desc : descriptors) {
if (desc.getCategory() == this)
desc.sessionEnded();
@@ -323,5 +323,4 @@ public final class CompletionProposalCategory {
fLastError= desc.getErrorMessage();
}
}
-
}
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ContentAssistProcessor.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ContentAssistProcessor.java
index dd300a42f50..96631839a53 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ContentAssistProcessor.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/ContentAssistProcessor.java
@@ -66,19 +66,18 @@ import org.eclipse.cdt.internal.ui.util.Messages;
/**
* A content assist processor that aggregates the proposals of the
- * {@link org.eclipse.cdt.ui.text.contentassist.ICompletionProposalComputer}s contributed via the
- * org.eclipse.cdt.ui.completionProposalComputer
extension point.
+ * {@link org.eclipse.cdt.ui.text.contentassist.ICompletionProposalComputer}s contributed via
+ * the {@code org.eclipse.cdt.ui.completionProposalComputer} extension point.
*
* Subclasses may extend:
*
- * createContext
to provide the context object passed to the computers
- * createProgressMonitor
to change the way progress is reported
- * filterAndSort
to add sorting and filtering
- * getContextInformationValidator
to add context validation (needed if any
+ * - {@code createContext} to provide the context object passed to the computers
+ * - {@code createProgressMonitor} to change the way progress is reported
+ * - {@code filterAndSort} to add sorting and filtering
+ * - {@code getContextInformationValidator} to add context validation (needed if any
* contexts are provided)
- * getErrorMessage
to change error reporting
+ * - {@code getErrorMessage} to change error reporting
*
- *
*
* @since 4.0
*/
@@ -130,7 +129,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
fIterationGesture= getIterationGesture();
KeySequence binding= getIterationBinding();
- // this may show the warning dialog if all categories are disabled
+ // This may show the warning dialog if all categories are disabled.
fCategoryIteration= getCategoryIteration();
for (Object element : fCategories) {
CompletionProposalCategory cat= (CompletionProposalCategory) element;
@@ -237,12 +236,11 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
/**
* Verifies that auto activation is allowed.
*
- * The default implementation always returns true
.
- *
+ * The default implementation always returns {@code true}.
*
* @param viewer the text viewer
* @param offset the offset where content assist was invoked on
- * @return true
if auto activation is allowed
+ * @return {@code true} if auto activation is allowed
*/
protected boolean verifyAutoActivation(ITextViewer viewer, int offset) {
return true;
@@ -254,7 +252,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
private List collectProposals(ITextViewer viewer, int offset, IProgressMonitor monitor, ContentAssistInvocationContext context) {
- List proposals= new ArrayList();
+ List proposals= new ArrayList<>();
List providers= getCategories();
for (CompletionProposalCategory cat : providers) {
List computed= cat.computeCompletionProposals(context, fPartition, new SubProgressMonitor(monitor, 1));
@@ -270,14 +268,14 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
* Filters and sorts the proposals. The passed list may be modified
* and returned, or a new list may be created and returned.
*
- * @param proposals the list of collected proposals (element type:
- * {@link ICompletionProposal})
+ * @param proposals the list of collected proposals (element type: {@link ICompletionProposal})
* @param monitor a progress monitor
* @param context TODO
* @return the list of filtered and sorted proposals, ready for
* display (element type: {@link ICompletionProposal})
*/
- protected List filterAndSortProposals(List proposals, IProgressMonitor monitor, ContentAssistInvocationContext context) {
+ protected List filterAndSortProposals(List proposals,
+ IProgressMonitor monitor, ContentAssistInvocationContext context) {
return proposals;
}
@@ -301,7 +299,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
private List collectContextInformation(ITextViewer viewer, int offset, IProgressMonitor monitor) {
- List proposals= new ArrayList();
+ List proposals= new ArrayList<>();
ContentAssistInvocationContext context= createContext(viewer, offset, false);
try {
@@ -320,12 +318,10 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
/**
- * Filters and sorts the context information objects. The passed
- * list may be modified and returned, or a new list may be created
- * and returned.
+ * Filters and sorts the context information objects. The passed list may be modified
+ * and returned, or a new list may be created and returned.
*
- * @param contexts the list of collected proposals (element type:
- * {@link IContextInformation})
+ * @param contexts the list of collected proposals (element type: {@link IContextInformation})
* @param monitor a progress monitor
* @return the list of filtered and sorted proposals, ready for
* display (element type: {@link IContextInformation})
@@ -371,9 +367,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
/**
* Creates a progress monitor.
*
- * The default implementation creates a
- * NullProgressMonitor
.
- *
+ * The default implementation creates a {@code NullProgressMonitor}.
*
* @return a progress monitor
*/
@@ -382,13 +376,12 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
/**
- * Creates the context that is passed to the completion proposal
- * computers.
+ * Creates the context that is passed to the completion proposal computers.
*
* @param viewer the viewer that content assist is invoked on
* @param offset the content assist offset
- * @return the context to be passed to the computers
- * or null
if no completion is possible
+ * @return the context to be passed to the computers,
+ * or {@code null} if no completion is possible
*/
protected ContentAssistInvocationContext createContext(ITextViewer viewer, int offset, boolean isCompletion) {
return new ContentAssistInvocationContext(viewer, offset);
@@ -397,7 +390,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
/**
* Test whether the current session was auto-activated.
*
- * @return true
if the current session was auto-activated.
+ * @return {@code true} if the current session was auto-activated.
*/
protected boolean isAutoActivated() {
return fIsAutoActivated;
@@ -418,7 +411,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
private List> getCategoryIteration() {
- List> sequence= new ArrayList>();
+ List> sequence= new ArrayList<>();
sequence.add(getDefaultCategories());
for (CompletionProposalCategory cat : getSeparateCategories()) {
sequence.add(Collections.singletonList(cat));
@@ -439,7 +432,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
private List getDefaultCategoriesUnchecked() {
- List included= new ArrayList();
+ List included= new ArrayList<>();
for (Object element : fCategories) {
CompletionProposalCategory category= (CompletionProposalCategory) element;
if (category.isIncluded() && category.hasComputers(fPartition))
@@ -525,7 +518,7 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
}
private List getSeparateCategories() {
- ArrayList sorted= new ArrayList();
+ ArrayList sorted= new ArrayList<>();
for (Object element : fCategories) {
CompletionProposalCategory category= (CompletionProposalCategory) element;
if (category.isSeparateCommand() && category.hasComputers(fPartition))
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DefaultProposalFilter.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DefaultProposalFilter.java
index 865c8fa8be3..732bcae759d 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DefaultProposalFilter.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DefaultProposalFilter.java
@@ -20,50 +20,46 @@ import org.eclipse.cdt.ui.text.contentassist.IProposalFilter;
* their id string. Use CCompletionProposalComparator for sorting.
*/
public class DefaultProposalFilter implements IProposalFilter {
-
@Override
- public ICCompletionProposal[] filterProposals(
- ICCompletionProposal[] proposals) {
-
+ public ICCompletionProposal[] filterProposals(ICCompletionProposal[] proposals) {
CCompletionProposalComparator propsComp = new CCompletionProposalComparator();
propsComp.setOrderAlphabetically(true);
Arrays.sort(proposals, propsComp);
- // remove duplicates but leave the ones with return types
+ // Remove duplicates but leave the ones with return types
int last = 0;
int removed = 0;
for (int i = 1; i < proposals.length; ++i) {
if (propsComp.compare(proposals[last], proposals[i]) == 0) {
// We want to leave the one that has the return string if any
- boolean lastReturn = proposals[last].getIdString() != proposals[last]
- .getDisplayString();
- boolean iReturn = proposals[i].getIdString() != proposals[i]
- .getDisplayString();
+ boolean lastReturn = proposals[last].getIdString() != proposals[last].getDisplayString();
+ boolean iReturn = proposals[i].getIdString() != proposals[i].getDisplayString();
- if (!lastReturn && iReturn)
+ if (!lastReturn && iReturn) {
// flip i down to last
proposals[last] = proposals[i];
+ }
// Remove the duplicate
proposals[i] = null;
++removed;
- } else
+ } else {
// update last
last = i;
+ }
}
if (removed > 0) {
// Strip out the null entries
- ICCompletionProposal[] newArray = new ICCompletionProposal[proposals.length
- - removed];
+ ICCompletionProposal[] newArray = new ICCompletionProposal[proposals.length - removed];
int j = 0;
- for (int i = 0; i < proposals.length; ++i)
+ for (int i = 0; i < proposals.length; ++i) {
if (proposals[i] != null)
newArray[j++] = proposals[i];
+ }
proposals = newArray;
}
return proposals;
}
-
}