本文整理汇总了Java中org.eclipse.jdt.core.CompletionRequestor类的典型用法代码示例。如果您正苦于以下问题:Java CompletionRequestor类的具体用法?Java CompletionRequestor怎么用?Java CompletionRequestor使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CompletionRequestor类属于org.eclipse.jdt.core包,在下文中一共展示了CompletionRequestor类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: Autocomplete
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
private List<AutocompleteResponse.Completion> Autocomplete(ITypeRoot cu, int cursorPosition) throws JavaModelException
{
final List<AutocompleteResponse.Completion> proposals = new ArrayList<AutocompleteResponse.Completion>();
cu.codeComplete(cursorPosition, new CompletionRequestor()
{
@Override
public void accept(CompletionProposal proposal) {
try
{
System.out.println(proposal.toString());
proposals.add(translateToCompletion(proposal));
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
return proposals;
}
示例2: ParamHelp
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
private List<ParamHelpResponse.Signature> ParamHelp(ITypeRoot cu, int cursorPosition) throws JavaModelException
{
final List<ParamHelpResponse.Signature> proposals = new ArrayList<ParamHelpResponse.Signature>();
cu.codeComplete(cursorPosition, new CompletionRequestor()
{
@Override
public void accept(CompletionProposal proposal)
{
try
{
System.out.println(proposal.toString());
if (proposal.getKind() == CompletionProposal.METHOD_REF)
{
char[] javaSig = proposal.getSignature();
ParamHelpResponse.Signature.Builder sig = ParamHelpResponse.Signature.newBuilder()
.setName(new String(proposal.getName()))
.setReturnValue(new String(Signature.toCharArray(Signature.getReturnType(javaSig))));
char[][] javaParamTypes = Signature.getParameterTypes(javaSig);
for(char[] javaParamType: javaParamTypes)
{
sig.addParameters(ParamHelpResponse.Parameter.newBuilder()
.setName(new String(Signature.toCharArray(javaParamType)))
.build());
}
proposals.add(sig.build());
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
return proposals;
}
示例3: CompletionEngine
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
/**
* The CompletionEngine is responsible for computing source completions.
*
* It requires a searchable name environment, which supports some
* specific search APIs, and a requestor to feed back the results to a UI.
*
* @param nameEnvironment org.eclipse.jdt.internal.codeassist.ISearchableNameEnvironment
* used to resolve type/package references and search for types/packages
* based on partial names.
*
* @param requestor org.eclipse.jdt.internal.codeassist.ICompletionRequestor
* since the engine might produce answers of various forms, the engine
* is associated with a requestor able to accept all possible completions.
*
* @param settings java.util.Map
* set of options used to configure the code assist engine.
*/
public CompletionEngine(
SearchableEnvironment nameEnvironment,
CompletionRequestor requestor,
Map settings,
IJavaProject javaProject,
WorkingCopyOwner owner,
IProgressMonitor monitor) {
super(settings);
this.javaProject = javaProject;
this.requestor = requestor;
this.nameEnvironment = nameEnvironment;
this.typeCache = new HashtableOfObject(5);
this.openedBinaryTypes = 0;
this.sourceLevel = javaProject.getOption(JavaCore.COMPILER_SOURCE, true);
this.complianceLevel = javaProject.getOption(JavaCore.COMPILER_COMPLIANCE, true);
this.problemFactory = new CompletionProblemFactory(Locale.getDefault());
this.problemReporter = new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
this.compilerOptions,
this.problemFactory);
this.lookupEnvironment =
new LookupEnvironment(this, this.compilerOptions, this.problemReporter, nameEnvironment);
this.parser =
new CompletionParser(this.problemReporter, this.requestor.isExtendedContextRequired(), monitor);
this.owner = owner;
this.monitor = monitor;
}
示例4: CompletionEngine
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
/**
* The CompletionEngine is responsible for computing source completions.
*
* It requires a searchable name environment, which supports some
* specific search APIs, and a requestor to feed back the results to a UI.
*
* @param nameEnvironment org.eclipse.jdt.internal.codeassist.ISearchableNameEnvironment
* used to resolve type/package references and search for types/packages
* based on partial names.
*
* @param requestor org.eclipse.jdt.internal.codeassist.ICompletionRequestor
* since the engine might produce answers of various forms, the engine
* is associated with a requestor able to accept all possible completions.
*
* @param settings java.util.Map
* set of options used to configure the code assist engine.
*/
public CompletionEngine(
SearchableEnvironment nameEnvironment,
CompletionRequestor requestor,
Map settings,
IJavaProject javaProject,
WorkingCopyOwner owner,
IProgressMonitor monitor) {
super(settings);
this.javaProject = javaProject;
this.requestor = requestor;
this.nameEnvironment = nameEnvironment;
this.typeCache = new HashtableOfObject(5);
this.openedBinaryTypes = 0;
this.sourceLevel = javaProject.getOption(JavaCore.COMPILER_SOURCE, true);
this.complianceLevel = javaProject.getOption(JavaCore.COMPILER_COMPLIANCE, true);
this.problemFactory = new CompletionProblemFactory(Locale.getDefault());
this.problemReporter = new ProblemReporter(
DefaultErrorHandlingPolicies.proceedWithAllProblems(),
this.compilerOptions,
this.problemFactory);
this.lookupEnvironment =
new LookupEnvironment(this, this.compilerOptions, this.problemReporter, nameEnvironment);
this.parser =
new CompletionParser(this.problemReporter, this.requestor.isExtendedContextRequired());
this.owner = owner;
this.monitor = monitor;
}
示例5: getStaticImportFavorites
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
public static String[] getStaticImportFavorites(ICompilationUnit cu, final String elementName, boolean isMethod, String[] favorites) throws JavaModelException {
StringBuffer dummyCU= new StringBuffer();
String packName= cu.getParent().getElementName();
IType type= cu.findPrimaryType();
if (type == null) {
return new String[0];
}
if (packName.length() > 0) {
dummyCU.append("package ").append(packName).append(';'); //$NON-NLS-1$
}
dummyCU.append("public class ").append(type.getElementName()).append("{\n static {\n").append(elementName); // static initializer //$NON-NLS-1$//$NON-NLS-2$
int offset= dummyCU.length();
dummyCU.append("\n}\n }"); //$NON-NLS-1$
ICompilationUnit newCU= null;
try {
newCU= cu.getWorkingCopy(null);
newCU.getBuffer().setContents(dummyCU.toString());
final HashSet<String> result= new HashSet<>();
CompletionRequestor requestor= new CompletionRequestor(true) {
@Override
public void accept(CompletionProposal proposal) {
if (elementName.equals(new String(proposal.getName()))) {
CompletionProposal[] requiredProposals= proposal.getRequiredProposals();
for (int i= 0; i < requiredProposals.length; i++) {
CompletionProposal curr= requiredProposals[i];
if (curr.getKind() == CompletionProposal.METHOD_IMPORT || curr.getKind() == CompletionProposal.FIELD_IMPORT) {
result.add(JavaModelUtil.concatenateName(Signature.toCharArray(curr.getDeclarationSignature()), curr.getName()));
}
}
}
}
};
if (isMethod) {
requestor.setIgnored(CompletionProposal.METHOD_REF, false);
requestor.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true);
} else {
requestor.setIgnored(CompletionProposal.FIELD_REF, false);
requestor.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true);
}
requestor.setFavoriteReferences(favorites);
newCU.codeComplete(offset, requestor);
return result.toArray(new String[result.size()]);
} finally {
if (newCU != null) {
newCU.discardWorkingCopy();
}
}
}
示例6: codeComplete
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
@Override
public void codeComplete(char[] snippet, int insertion, int position, char[][] localVariableTypeNames, char[][] localVariableNames, int[] localVariableModifiers, boolean isStatic, CompletionRequestor requestor) throws JavaModelException {
// TODO Auto-generated method stub
}
示例7: getStaticImportFavorites
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
public static String[] getStaticImportFavorites(
ICompilationUnit cu, final String elementName, boolean isMethod, String[] favorites)
throws JavaModelException {
StringBuffer dummyCU = new StringBuffer();
String packName = cu.getParent().getElementName();
IType type = cu.findPrimaryType();
if (type == null) return new String[0];
if (packName.length() > 0) {
dummyCU.append("package ").append(packName).append(';'); // $NON-NLS-1$
}
dummyCU
.append("public class ")
.append(type.getElementName())
.append("{\n static {\n")
.append(elementName); // static initializer //$NON-NLS-1$//$NON-NLS-2$
int offset = dummyCU.length();
dummyCU.append("\n}\n }"); // $NON-NLS-1$
ICompilationUnit newCU = null;
try {
newCU = cu.getWorkingCopy(null);
newCU.getBuffer().setContents(dummyCU.toString());
final HashSet<String> result = new HashSet<String>();
CompletionRequestor requestor =
new CompletionRequestor(true) {
@Override
public void accept(CompletionProposal proposal) {
if (elementName.equals(new String(proposal.getName()))) {
CompletionProposal[] requiredProposals = proposal.getRequiredProposals();
for (int i = 0; i < requiredProposals.length; i++) {
CompletionProposal curr = requiredProposals[i];
if (curr.getKind() == CompletionProposal.METHOD_IMPORT
|| curr.getKind() == CompletionProposal.FIELD_IMPORT) {
result.add(
JavaModelUtil.concatenateName(
Signature.toCharArray(curr.getDeclarationSignature()), curr.getName()));
}
}
}
}
};
if (isMethod) {
requestor.setIgnored(CompletionProposal.METHOD_REF, false);
requestor.setAllowsRequiredProposals(
CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true);
} else {
requestor.setIgnored(CompletionProposal.FIELD_REF, false);
requestor.setAllowsRequiredProposals(
CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true);
}
requestor.setFavoriteReferences(favorites);
newCU.codeComplete(offset, requestor);
return result.toArray(new String[result.size()]);
} finally {
if (newCU != null) {
newCU.discardWorkingCopy();
}
}
}
示例8: codeComplete
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void codeComplete(final int offset, final CompletionRequestor requestor) throws JavaModelException {
compilationUnit.codeComplete(offset, requestor);
}
示例9: getStaticImportFavorites
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
public static String[] getStaticImportFavorites(ICompilationUnit cu, final String elementName, boolean isMethod, String[] favorites) throws JavaModelException {
StringBuffer dummyCU= new StringBuffer();
String packName= cu.getParent().getElementName();
IType type= cu.findPrimaryType();
if (type == null)
return new String[0];
if (packName.length() > 0) {
dummyCU.append("package ").append(packName).append(';'); //$NON-NLS-1$
}
dummyCU.append("public class ").append(type.getElementName()).append("{\n static {\n").append(elementName); // static initializer //$NON-NLS-1$//$NON-NLS-2$
int offset= dummyCU.length();
dummyCU.append("\n}\n }"); //$NON-NLS-1$
ICompilationUnit newCU= null;
try {
newCU= cu.getWorkingCopy(null);
newCU.getBuffer().setContents(dummyCU.toString());
final HashSet<String> result= new HashSet<String>();
CompletionRequestor requestor= new CompletionRequestor(true) {
@Override
public void accept(CompletionProposal proposal) {
if (elementName.equals(new String(proposal.getName()))) {
CompletionProposal[] requiredProposals= proposal.getRequiredProposals();
for (int i= 0; i < requiredProposals.length; i++) {
CompletionProposal curr= requiredProposals[i];
if (curr.getKind() == CompletionProposal.METHOD_IMPORT || curr.getKind() == CompletionProposal.FIELD_IMPORT) {
result.add(JavaModelUtil.concatenateName(Signature.toCharArray(curr.getDeclarationSignature()), curr.getName()));
}
}
}
}
};
if (isMethod) {
requestor.setIgnored(CompletionProposal.METHOD_REF, false);
requestor.setAllowsRequiredProposals(CompletionProposal.METHOD_REF, CompletionProposal.METHOD_IMPORT, true);
} else {
requestor.setIgnored(CompletionProposal.FIELD_REF, false);
requestor.setAllowsRequiredProposals(CompletionProposal.FIELD_REF, CompletionProposal.FIELD_IMPORT, true);
}
requestor.setFavoriteReferences(favorites);
newCU.codeComplete(offset, requestor);
return result.toArray(new String[result.size()]);
} finally {
if (newCU != null) {
newCU.discardWorkingCopy();
}
}
}
示例10: codeCompletion
import org.eclipse.jdt.core.CompletionRequestor; //导入依赖的package包/类
public void codeCompletion(String packageName, String fileName, int offset, CompletionRequestor requestor) throws JavaModelException {
ICompilationUnit compilationUnit = getCompilationUnit(packageName, fileName);
compilationUnit.codeComplete(offset, requestor);
}