1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-06 17:26:01 +02:00

Cosmetics.

Change-Id: I379de81844c6beed828ec2d27cef110a10987d17
This commit is contained in:
Sergey Prigogin 2016-03-02 14:34:20 -08:00
parent 62dc7c36ea
commit 3e27134c47
9 changed files with 128 additions and 111 deletions

View file

@ -399,8 +399,9 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
return;
try {
fActiveCode= true;
while (t != null && t.getType() != IToken.tINACTIVE_CODE_END)
while (t != null && t.getType() != IToken.tINACTIVE_CODE_END) {
t= t.getNext();
}
if (t != null) {
nextToken= t.getNext();
@ -524,7 +525,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected final boolean isOnSameLine(int offset1, int offset2) {
ILocationResolver lr= getTranslationUnit().getAdapter(ILocationResolver.class);
IASTFileLocation floc= lr.getMappedFileLocation(offset1, offset2-offset1+1);
IASTFileLocation floc= lr.getMappedFileLocation(offset1, offset2 - offset1 + 1);
return floc.getFileName().equals(lr.getContainingFilePath(offset1)) &&
floc.getStartingLineNumber() == floc.getEndingLineNumber();
}
@ -541,12 +542,12 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected final <T extends IASTNode> T setRange(T n, IASTNode from, int endOffset) {
final int offset = ((ASTNode) from).getOffset();
((ASTNode) n).setOffsetAndLength(offset, endOffset-offset);
((ASTNode) n).setOffsetAndLength(offset, endOffset - offset);
return n;
}
protected final <T extends IASTNode> T setRange(T n, int offset, int endOffset) {
((ASTNode) n).setOffsetAndLength(offset, endOffset-offset);
((ASTNode) n).setOffsetAndLength(offset, endOffset - offset);
return n;
}
@ -557,7 +558,7 @@ public abstract class AbstractGNUSourceCodeParser implements ISourceCodeParser {
protected final <T extends IASTNode> T adjustEndOffset(T n, final int endOffset) {
final ASTNode node = (ASTNode) n;
node.setLength(endOffset-node.getOffset());
node.setLength(endOffset - node.getOffset());
return n;
}

View file

@ -16,6 +16,9 @@
*******************************************************************************/
package org.eclipse.cdt.ui.tests.text.contentassist2;
import static org.eclipse.cdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_METHOD_DECLARATION_PARAMETERS;
import static org.eclipse.cdt.core.formatter.DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMETERS;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
@ -36,7 +39,6 @@ import org.eclipse.ui.texteditor.AbstractTextEditor;
import org.eclipse.ui.texteditor.ITextEditor;
import org.eclipse.cdt.core.dom.IPDOMManager;
import org.eclipse.cdt.core.formatter.DefaultCodeFormatterConstants;
import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.cdt.core.testplugin.CProjectHelper;
import org.eclipse.cdt.ui.CUIPlugin;
@ -56,9 +58,7 @@ import org.eclipse.cdt.internal.ui.text.contentassist.ParameterGuessingProposal;
import org.eclipse.cdt.internal.ui.text.contentassist.RelevanceConstants;
public abstract class AbstractContentAssistTest extends BaseUITestCase {
public static enum CompareType {
ID, DISPLAY, REPLACEMENT, CONTEXT, INFORMATION
}
public static enum CompareType { ID, DISPLAY, REPLACEMENT, CONTEXT, INFORMATION }
private class ContentAssistResult {
long startTime;
@ -102,7 +102,7 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
}
/**
* Setup the project's content.
* Sets up the project's content.
* @param project
* @return the file to be opened in the editor
*/
@ -123,9 +123,8 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
return CUIPlugin.getDefault().getPreferenceStore();
}
private ContentAssistResult invokeContentAssist(int offset, int length,
boolean isCompletion, boolean isTemplate, boolean filterResults)
throws Exception {
private ContentAssistResult invokeContentAssist(int offset, int length, boolean isCompletion,
boolean isTemplate, boolean filterResults) throws Exception {
if (CTestPlugin.getDefault().isDebugging()) {
System.out.println("\n\n\n\n\nTesting " + this.getClass().getName());
}
@ -158,9 +157,8 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
return new ContentAssistResult(startTime, endTime, results);
}
protected void assertContentAssistResults(int offset, int length,
String[] expected, boolean isCompletion, boolean isTemplate,
boolean filterResults, CompareType compareType) throws Exception {
protected void assertContentAssistResults(int offset, int length, String[] expected, boolean isCompletion,
boolean isTemplate, boolean filterResults, CompareType compareType) throws Exception {
ContentAssistResult r = invokeContentAssist(offset, length, isCompletion, isTemplate, filterResults);
String[] resultStrings= toStringArray(r.results, compareType);
@ -242,8 +240,7 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
}
}
private Map<String, String[][]> toMap(Object[] results,
CompareType compareType) {
private Map<String, String[][]> toMap(Object[] results, CompareType compareType) {
Map<String, String[][]> resultsMap = new HashMap<>();
for (Object result : results) {
switch (compareType) {
@ -273,16 +270,19 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
return resultsMap;
}
protected void assertContentAssistResults(int offset, int length, String[] expected, boolean isCompletion, boolean isTemplate, CompareType compareType) throws Exception {
protected void assertContentAssistResults(int offset, int length, String[] expected, boolean isCompletion,
boolean isTemplate, CompareType compareType) throws Exception {
assertContentAssistResults(offset, length, expected, isCompletion, isTemplate, true, compareType);
}
protected void assertContentAssistResults(int offset, String[] expected, boolean isCompletion, CompareType compareType) throws Exception {
protected void assertContentAssistResults(int offset, String[] expected, boolean isCompletion,
CompareType compareType) throws Exception {
assertContentAssistResults(offset, 0, expected, isCompletion, false, compareType);
}
/**
* Filter out template and keyword proposals.
*
* @param results
* @param isCodeCompletion completion is in code, not preprocessor, etc.
* @return filtered proposals
@ -386,14 +386,14 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
}
/**
* @return the content of the editor buffer
* Returns the content of the editor buffer
*/
protected String getBuffer() {
return getDocument().get();
}
/**
* @return the editor document
* Returns the editor document
*/
protected IDocument getDocument() {
return EditorTestHelper.getDocument(fEditor);
@ -401,11 +401,10 @@ public abstract class AbstractContentAssistTest extends BaseUITestCase {
protected void setCommaAfterFunctionParameter(String value) {
fCProject.setOption(
DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_METHOD_DECLARATION_PARAMETERS, value);
FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_METHOD_DECLARATION_PARAMETERS, value);
}
protected void setCommaAfterTemplateParameter(String value) {
fCProject.setOption(
DefaultCodeFormatterConstants.FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMETERS, value);
fCProject.setOption(FORMATTER_INSERT_SPACE_AFTER_COMMA_IN_TEMPLATE_PARAMETERS, value);
}
}

View file

@ -13,13 +13,13 @@ package org.eclipse.cdt.ui.tests.text.contentassist2;
import java.util.HashMap;
import java.util.Map;
import junit.framework.Test;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.cdt.core.testplugin.util.BaseTestCase;
import junit.framework.Test;
public class CParameterGuessingTests extends AbstractContentAssistTest {
private static final String HEADER_FILE_NAME = "PGTest_C.h";
private static final String SOURCE_FILE_NAME = "PGTest_C.c";
@ -52,8 +52,8 @@ public class CParameterGuessingTests extends AbstractContentAssistTest {
}
protected void assertParametersGuesses(Map<String, String[][]> expected) throws Exception {
assertContentAssistResults(getBuffer().length() - 1, 0, expected, true,
false, false, CompareType.REPLACEMENT);
assertContentAssistResults(getBuffer().length() - 1, 0, expected, true, false, false,
CompareType.REPLACEMENT);
}
// void foo(){

View file

@ -19,11 +19,11 @@ import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.FileLocator;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.core.runtime.IExtension;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.jface.action.LegacyActionTools;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.text.contentassist.ICompletionProposal;
@ -252,7 +252,8 @@ public final class CompletionProposalCategory {
* @return the list of computed completion proposals (element type:
* {@link org.eclipse.jface.text.contentassist.ICompletionProposal})
*/
public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext context, String partition, SubProgressMonitor monitor) {
public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext context,
String partition, IProgressMonitor monitor) {
fLastError= null;
List<ICompletionProposal> result= new ArrayList<>();
List<CompletionProposalComputerDescriptor> descriptors= new ArrayList<>(fRegistry.getProposalComputerDescriptors(partition));
@ -276,10 +277,12 @@ public final class CompletionProposalCategory {
* @return the list of computed context information objects (element type:
* {@link org.eclipse.jface.text.contentassist.IContextInformation})
*/
public List<IContextInformation> computeContextInformation(ContentAssistInvocationContext context, String partition, SubProgressMonitor monitor) {
public List<IContextInformation> computeContextInformation(ContentAssistInvocationContext context,
String partition, IProgressMonitor monitor) {
fLastError= null;
List<IContextInformation> result= new ArrayList<>();
List<CompletionProposalComputerDescriptor> descriptors= new ArrayList<>(fRegistry.getProposalComputerDescriptors(partition));
List<CompletionProposalComputerDescriptor> descriptors=
new ArrayList<>(fRegistry.getProposalComputerDescriptors(partition));
for (CompletionProposalComputerDescriptor desc : descriptors) {
if (desc.getCategory() == this)
result.addAll(desc.computeContextInformation(context, monitor));

View file

@ -23,7 +23,7 @@ import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.jface.action.LegacyActionTools;
import org.eclipse.jface.bindings.TriggerSequence;
import org.eclipse.jface.bindings.keys.KeySequence;
@ -251,11 +251,13 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
fNumberOfComputedResults= 0;
}
private List<ICompletionProposal> collectProposals(ITextViewer viewer, int offset, IProgressMonitor monitor, ContentAssistInvocationContext context) {
private List<ICompletionProposal> collectProposals(ITextViewer viewer, int offset,
IProgressMonitor monitor, ContentAssistInvocationContext context) {
List<ICompletionProposal> proposals= new ArrayList<>();
List<CompletionProposalCategory> providers= getCategories();
SubMonitor progress = SubMonitor.convert(monitor, providers.size());
for (CompletionProposalCategory cat : providers) {
List<ICompletionProposal> computed= cat.computeCompletionProposals(context, fPartition, new SubProgressMonitor(monitor, 1));
List<ICompletionProposal> computed= cat.computeCompletionProposals(context, fPartition, progress.split(1));
proposals.addAll(computed);
if (fErrorMessage == null)
fErrorMessage= cat.getErrorMessage();
@ -298,14 +300,17 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
return result;
}
private List<IContextInformation> collectContextInformation(ITextViewer viewer, int offset, IProgressMonitor monitor) {
private List<IContextInformation> collectContextInformation(ITextViewer viewer, int offset,
IProgressMonitor monitor) {
List<IContextInformation> proposals= new ArrayList<>();
ContentAssistInvocationContext context= createContext(viewer, offset, false);
try {
List<CompletionProposalCategory> providers= getCategories();
SubMonitor progress = SubMonitor.convert(monitor, providers.size());
for (CompletionProposalCategory cat : providers) {
List<IContextInformation> computed= cat.computeContextInformation(context, fPartition, new SubProgressMonitor(monitor, 1));
List<IContextInformation> computed=
cat.computeContextInformation(context, fPartition, progress.split(1));
proposals.addAll(computed);
if (fErrorMessage == null)
fErrorMessage= cat.getErrorMessage();
@ -326,7 +331,8 @@ public class ContentAssistProcessor implements IContentAssistProcessor {
* @return the list of filtered and sorted proposals, ready for
* display (element type: {@link IContextInformation})
*/
protected List<IContextInformation> filterAndSortContextInformation(List<IContextInformation> contexts, IProgressMonitor monitor) {
protected List<IContextInformation> filterAndSortContextInformation(List<IContextInformation> contexts,
IProgressMonitor monitor) {
return contexts;
}

View file

@ -111,7 +111,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
private static final String TYPENAME = "typename"; //$NON-NLS-1$;
private static final String ELLIPSIS = "..."; //$NON-NLS-1$;
private String fPrefix;
private ArrayList<IBinding> fAvailableElements;
private List<IBinding> fAvailableElements;
/**
* Default constructor is required (executable extension).
@ -121,8 +121,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
}
@Override
protected List<ICompletionProposal> computeCompletionProposals(
CContentAssistInvocationContext context,
protected List<ICompletionProposal> computeCompletionProposals(CContentAssistInvocationContext context,
IASTCompletionNode completionNode, String prefix) {
fPrefix = prefix;
initializeDefinedElements(context);
@ -130,7 +129,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
if (inPreprocessorDirective(context)) {
if (!inPreprocessorKeyword(context)) {
// add only macros
// Add only macros.
if (prefix.length() == 0) {
try {
prefix= context.computeIdentifierPrefix().toString();
@ -146,7 +145,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
for (IASTName name : names) {
if (name.getTranslationUnit() == null)
// The node isn't properly hooked up, must have backtracked out of this node
// The node isn't properly hooked up, must have backtracked out of this node.
continue;
IASTCompletionContext astContext = name.getCompletionContext();
@ -154,7 +153,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
continue;
} else if (astContext instanceof IASTIdExpression
|| astContext instanceof IASTNamedTypeSpecifier) {
// handle macros only if there is a prefix
// Handle macros only if there is a prefix.
handleMacros = prefix.length() > 0;
}
@ -192,12 +191,12 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
if (ICPartitions.C_PREPROCESSOR.equals(partition.getType())) {
String ppPrefix= doc.get(partition.getOffset(), offset - partition.getOffset());
if (ppPrefix.matches("\\s*#\\s*\\w*")) { //$NON-NLS-1$
// we are inside the directive keyword
// We are inside the directive keyword.
return true;
}
}
} catch (BadLocationException exc) {
} catch (BadLocationException e) {
}
return false;
}
@ -205,7 +204,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
/**
* Check if the invocation offset is inside a preprocessor directive.
*
* @param context the content asist invocation context
* @param context the content assist invocation context
* @return <code>true</code> if invocation offset is inside a preprocessor directive
*/
private boolean inPreprocessorDirective(CContentAssistInvocationContext context) {
@ -239,7 +238,8 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
char[] prefixChars= prefix.toCharArray();
final boolean matchPrefix= !context.isContextInformationStyle();
if (matchPrefix) {
IContentAssistMatcher matcher = ContentAssistMatcherFactory.getInstance().createMatcher(prefixChars);
IContentAssistMatcher matcher =
ContentAssistMatcherFactory.getInstance().createMatcher(prefixChars);
for (int i = 0; i < macros.length; ++i) {
final char[] macroName= macros[i].getName().toCharArray();
if (matcher.match(macroName)) {
@ -304,8 +304,9 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
}
}
if (argString.length() > 0) {
CProposalContextInformation info = new CProposalContextInformation(image, descString, argString);
if (!argString.isEmpty()) {
CProposalContextInformation info =
new CProposalContextInformation(image, descString, argString);
info.setContextInformationPosition(context.getContextInformationOffset());
proposal.setContextInformation(info);
}
@ -366,8 +367,8 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
return name.length == 0 || name[0] == '{';
}
private void addProposalForClassTemplate(ICPPClassTemplate templateType, CContentAssistInvocationContext context,
int baseRelevance, List<ICompletionProposal> proposals) {
private void addProposalForClassTemplate(ICPPClassTemplate templateType,
CContentAssistInvocationContext context, int baseRelevance, List<ICompletionProposal> proposals) {
int relevance = getClassTypeRelevance(templateType);
StringBuilder representation = new StringBuilder(templateType.getName());
boolean inUsingDeclaration = context.isInUsingDirective();
@ -384,8 +385,8 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
baseRelevance + relevance, context);
if (!inUsingDeclaration) {
CProposalContextInformation info =
new CProposalContextInformation(getImage(templateType), displayString, templateParameterRepresentation);
CProposalContextInformation info = new CProposalContextInformation(
getImage(templateType), displayString, templateParameterRepresentation);
info.setContextInformationPosition(context.getContextInformationOffset());
proposal.setContextInformation(info);
if (!context.isContextInformationStyle()) {
@ -418,8 +419,10 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
} else if (parameter instanceof ICPPTemplateTypeParameter) {
representation.append(TYPENAME);
} else if (parameter instanceof ICPPTemplateTemplateParameter) {
String templateParameterParameters = buildTemplateParameters((ICPPTemplateTemplateParameter) parameter, context);
representation.append(MessageFormat.format(TEMPLATE_PARAMETER_PATTERN, templateParameterParameters));
String templateParameterParameters =
buildTemplateParameters((ICPPTemplateTemplateParameter) parameter, context);
representation.append(
MessageFormat.format(TEMPLATE_PARAMETER_PATTERN, templateParameterParameters));
representation.append(templateParameterParameters);
}
if (parameter.isParameterPack()) {
@ -428,11 +431,13 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
representation.append(' ');
representation.append(parameter.getName());
if (addDefaultArguments && defaultValue != null) {
String defaultArgumentRepresentation = MessageFormat.format(DEFAULT_ARGUMENT_PATTERN, defaultValue);
String defaultArgumentRepresentation =
MessageFormat.format(DEFAULT_ARGUMENT_PATTERN, defaultValue);
for (int parameterIndex = 0; parameterIndex < i; parameterIndex++) {
String templateArgumentID = HASH + parameterIndex;
String templateArgumentValue = parameters[parameterIndex].getName();
defaultArgumentRepresentation = defaultArgumentRepresentation.replaceAll(templateArgumentID, templateArgumentValue);
defaultArgumentRepresentation =
defaultArgumentRepresentation.replaceAll(templateArgumentID, templateArgumentValue);
}
representation.append(defaultArgumentRepresentation);
}
@ -493,8 +498,8 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
repStringBuff.append('(');
StringBuilder dispargs = new StringBuilder(); // for the dispargString
StringBuilder idargs = new StringBuilder(); // for the idargString
StringBuilder dispArgs = new StringBuilder(); // for the dispargString
StringBuilder idArgs = new StringBuilder(); // for the idargString
boolean hasArgs = true;
String returnTypeStr = null;
IParameter[] params = function.getParameters();
@ -507,35 +512,36 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
}
IType paramType = param.getType();
if (i > 0) {
dispargs.append(parameterDelimiter);
idargs.append(parameterDelimiter);
dispArgs.append(parameterDelimiter);
idArgs.append(parameterDelimiter);
}
dispargs.append(ASTTypeUtil.getType(paramType, false));
idargs.append(ASTTypeUtil.getType(paramType, false));
dispArgs.append(ASTTypeUtil.getType(paramType, false));
idArgs.append(ASTTypeUtil.getType(paramType, false));
String paramName = param.getName();
if (paramName != null && paramName.length() > 0) {
dispargs.append(' ');
dispargs.append(paramName);
dispArgs.append(' ');
dispArgs.append(paramName);
}
if (param instanceof ICPPParameter) {
ICPPParameter cppParam = (ICPPParameter) param;
if (cppParam.hasDefaultValue() && isDisplayDefaultArguments()) {
dispargs.append(MessageFormat.format(DEFAULT_ARGUMENT_PATTERN, cppParam.getDefaultValue()));
dispArgs.append(
MessageFormat.format(DEFAULT_ARGUMENT_PATTERN, cppParam.getDefaultValue()));
}
}
}
if (function.takesVarArgs()) {
if (params.length > 0) {
dispargs.append(parameterDelimiter);
idargs.append(parameterDelimiter);
if (params.length != 0) {
dispArgs.append(parameterDelimiter);
idArgs.append(parameterDelimiter);
}
dispargs.append("..."); //$NON-NLS-1$
idargs.append("..."); //$NON-NLS-1$
dispArgs.append("..."); //$NON-NLS-1$
idArgs.append("..."); //$NON-NLS-1$
} else if (params.length == 0) { // force the void in
dispargs.append("void"); //$NON-NLS-1$
idargs.append("void"); //$NON-NLS-1$
dispArgs.append("void"); //$NON-NLS-1$
idArgs.append("void"); //$NON-NLS-1$
}
}
IFunctionType functionType = function.getType();
@ -547,20 +553,20 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
hasArgs = ASTTypeUtil.functionTakesParameters(function);
String dispargString = dispargs.toString();
String idargString = idargs.toString();
String contextDispargString = hasArgs ? dispargString : null;
String dispArgString = dispArgs.toString();
String idArgString = idArgs.toString();
String contextDispargString = hasArgs ? dispArgString : null;
StringBuilder dispStringBuff = new StringBuilder(repStringBuff);
dispStringBuff.append(dispargString);
dispStringBuff.append(dispArgString);
dispStringBuff.append(')');
if (returnTypeStr != null && returnTypeStr.length() > 0) {
if (returnTypeStr != null && !returnTypeStr.isEmpty()) {
dispStringBuff.append(" : "); //$NON-NLS-1$
dispStringBuff.append(returnTypeStr);
}
String dispString = dispStringBuff.toString();
StringBuilder idStringBuff = new StringBuilder(repStringBuff);
idStringBuff.append(idargString);
idStringBuff.append(idArgString);
idStringBuff.append(')');
String idString = idStringBuff.toString();
@ -584,7 +590,8 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
CCompletionProposal proposal = createProposal(repString, dispString, idString,
context.getCompletionNode().getLength(), image, baseRelevance + relevance, context);
if (!context.isContextInformationStyle()) {
int cursorPosition = (!inUsingDeclaration && hasArgs) ? (repString.length() - 1) : repString.length();
int cursorPosition = !inUsingDeclaration && hasArgs ?
repString.length() - 1 : repString.length();
proposal.setCursorPosition(cursorPosition);
}
@ -596,18 +603,21 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
}
/*
* The ParameterGuessingProposal will be active if the function accepts parameters and the content assist is
* invoked before typing any parameters. Otherwise, the normal Parameter Hint Proposal will be added.
* The ParameterGuessingProposal will be active if the function accepts parameters and the content
* assist is invoked before typing any parameters. Otherwise, the normal parameter hint proposal will
* be added.
*/
if (function.getParameters() != null && function.getParameters().length > 0 && isBeforeParameters(context)) {
proposals.add(ParameterGuessingProposal.createProposal(context, fAvailableElements, proposal, function, fPrefix));
if (function.getParameters() != null && function.getParameters().length != 0
&& isBeforeParameters(context)) {
proposals.add(ParameterGuessingProposal.createProposal(context, fAvailableElements, proposal,
function, fPrefix));
} else {
proposals.add(proposal);
}
}
/**
* Returns true if the invocation is at the function name or before typing any parameters
* Returns true if the invocation is at the function name or before typing any parameters.
*/
private boolean isBeforeParameters(CContentAssistInvocationContext context) {
/*
@ -637,7 +647,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
}
/**
* Initializes the list of defined elements at the start of the current statement.
* Initializes the list of variables accessible at the start of the current statement.
*/
private void initializeDefinedElements(CContentAssistInvocationContext context) {
/*
@ -804,8 +814,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
CContentAssistInvocationContext cContext, int baseRelevance,
List<ICompletionProposal> proposals) {
if (astContext instanceof ICPPASTQualifiedName) {
IASTCompletionContext parent = ((ICPPASTQualifiedName) astContext)
.getCompletionContext();
IASTCompletionContext parent = ((ICPPASTQualifiedName) astContext).getCompletionContext();
handleNamespace(namespace, parent, cContext, baseRelevance, proposals);
return;
}
@ -904,7 +913,7 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer
imageDescriptor = CElementImageProvider.getFunctionImageDescriptor();
} else if (binding instanceof ICPPUsingDeclaration) {
IBinding[] delegates = ((ICPPUsingDeclaration) binding).getDelegates();
if (delegates.length > 0)
if (delegates.length != 0)
return getImage(delegates[0]);
}

View file

@ -28,7 +28,7 @@ public abstract class Lazy<E> {
* @return The value of this object.
*/
@SuppressWarnings("unchecked")
public E value() {
public final E value() {
if (value == NOT_INITIALIZED) {
value = calculateValue();
}

View file

@ -14,6 +14,7 @@ package org.eclipse.cdt.internal.ui.text.contentassist;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.eclipse.jface.text.BadLocationException;
import org.eclipse.jface.text.BadPositionCategoryException;
@ -56,18 +57,18 @@ import org.eclipse.cdt.internal.ui.editor.EditorHighlightingSynchronizer;
* with a list of suggestions for each parameter.
*/
public class ParameterGuessingProposal extends FunctionCompletionProposal {
private ICompletionProposal[][] fChoices; // initialized by guessParameters()
private Position[] fPositions; // initialized by guessParameters()
private IRegion fSelectedRegion; // initialized by apply()
private ICompletionProposal[][] fChoices; // Initialized by guessParameters()
private Position[] fPositions; // Initialized by guessParameters()
private IRegion fSelectedRegion; // Initialized by apply()
private IPositionUpdater fUpdater;
private String fFullPrefix; // The string from the start of the statement to the invocation offset.
private CEditor fCEditor;
private char[][] fParametersNames;
private IType[] fParametersTypes;
private ArrayList<IBinding> fAssignableElements;
private List<IBinding> fAssignableElements;
public static ParameterGuessingProposal createProposal(CContentAssistInvocationContext context,
ArrayList<IBinding> availableElements, CCompletionProposal proposal, IFunction function,
List<IBinding> availableElements, CCompletionProposal proposal, IFunction function,
String prefix) {
String replacement = getParametersList(function);
String fullPrefix = function.getName() + "("; //$NON-NLS-1$
@ -92,7 +93,7 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal {
} catch (BadLocationException e1) {
}
try {
// remove ')' from the replacement string if it is auto appended.
// Remove ')' from the replacement string if it is auto appended.
if (document.getChar(invocationOffset) == ')')
replacement = replacement.substring(0, replacement.length() - 1);
} catch (BadLocationException e) {
@ -133,7 +134,8 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal {
public ParameterGuessingProposal(String replacementString, int replacementOffset, int replacementLength,
Image image, String displayString, String idString, int relevance, ITextViewer viewer,
IFunction function, int invocationOffset, int parseOffset, ITranslationUnit tu, IDocument document) {
IFunction function, int invocationOffset, int parseOffset, ITranslationUnit tu,
IDocument document) {
super(replacementString, replacementOffset, replacementLength, image, displayString, idString,
relevance, viewer, function, invocationOffset, parseOffset, tu, document);
}
@ -145,9 +147,6 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal {
return invocationOffset - parseOffset != 0;
}
/**
* {@inheritDoc}
*/
@Override
public CharSequence getPrefixCompletionText(IDocument document, int completionOffset) {
if (isInsideBracket(fInvocationOffset, fParseOffset)) {
@ -163,7 +162,7 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal {
public void apply(final IDocument document, char trigger, int offset) {
super.apply(document, trigger, offset);
// Initialize necessary fields
// Initialize necessary fields.
fParametersNames = getFunctionParametersNames(fFunctionParameters);
fParametersTypes = getFunctionParametersTypes(fFunctionParameters);
@ -204,7 +203,7 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal {
LinkedModeUI ui = new EditorLinkedModeUI(model, fTextViewer);
ui.setExitPosition(fTextViewer, baseOffset + replacement.length(), 0, Integer.MAX_VALUE);
// exit character can be either ')' or ';'
// Exit character can be either ')' or ';'
final char exitChar = replacement.charAt(replacement.length() - 1);
ui.setExitPolicy(new ExitPolicy(exitChar) {
@Override
@ -350,7 +349,7 @@ public class ParameterGuessingProposal extends FunctionCompletionProposal {
}
/**
* Returns the c editor, or <code>null</code> if it cannot be determined.
* Returns the C/C++ editor, or {@code null} if it cannot be determined.
*/
private static CEditor getCEditor(IEditorPart editorPart) {
if (editorPart instanceof CEditor) {

View file

@ -69,16 +69,16 @@ public class DOMSearchUtil {
{
shouldVisitNames = true;
}
public List<IASTName> nameList = new ArrayList<IASTName>();
public List<IASTName> nameList = new ArrayList<>();
@Override
public int visit(IASTName name) {
nameList.add( name );
nameList.add(name);
return PROCESS_CONTINUE;
}
public IASTName getName( int idx ){
if( idx < 0 || idx >= nameList.size() )
public IASTName getName(int idx) {
if (idx < 0 || idx >= nameList.size())
return null;
return nameList.get(idx);
}