Java 类org.eclipse.jdt.core.CompletionRequestor 实例源码

项目:vsminecraft    文件:JavaParser.java   
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;
}
项目:vsminecraft    文件:JavaParser.java   
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;
}
项目:Eclipse-Postfix-Code-Completion    文件:CompletionEngine.java   
/**
 * 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;
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:CompletionEngine.java   
/**
 * 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;
}
项目:eclipse.jdt.ls    文件:SimilarElementsRequestor.java   
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();
        }
    }
}
项目:Sparrow    文件:PrimitiveTypeHack.java   
@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

}
项目:Sparrow    文件:PrimitiveTypeHack.java   
@Override
public void codeComplete(char[] snippet, int insertion, int position, char[][] localVariableTypeNames, char[][] localVariableNames, int[] localVariableModifiers, boolean isStatic, CompletionRequestor requestor, IProgressMonitor monitor)
        throws JavaModelException {
    // TODO Auto-generated method stub

}
项目:Sparrow    文件:PrimitiveTypeHack.java   
@Override
public void codeComplete(char[] snippet, int insertion, int position, char[][] localVariableTypeNames, char[][] localVariableNames, int[] localVariableModifiers, boolean isStatic, CompletionRequestor requestor, WorkingCopyOwner owner)
        throws JavaModelException {
    // TODO Auto-generated method stub

}
项目:Sparrow    文件:PrimitiveTypeHack.java   
@Override
public void codeComplete(char[] snippet, int insertion, int position, char[][] localVariableTypeNames, char[][] localVariableNames, int[] localVariableModifiers, boolean isStatic, CompletionRequestor requestor, WorkingCopyOwner owner,
        IProgressMonitor monitor) throws JavaModelException {
    // TODO Auto-generated method stub

}
项目:che    文件:SimilarElementsRequestor.java   
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();
    }
  }
}
项目:PerformanceHat    文件:AbstractCompilationUnitDecorator.java   
/**
 * {@inheritDoc}
 */
@Override
public void codeComplete(final int offset, final CompletionRequestor requestor) throws JavaModelException {
  compilationUnit.codeComplete(offset, requestor);
}
项目:PerformanceHat    文件:AbstractCompilationUnitDecorator.java   
/**
 * {@inheritDoc}
 */
@Override
public void codeComplete(final int offset, final CompletionRequestor requestor, final IProgressMonitor monitor) throws JavaModelException {
  compilationUnit.codeComplete(offset, requestor, monitor);
}
项目:PerformanceHat    文件:AbstractCompilationUnitDecorator.java   
/**
 * {@inheritDoc}
 */
@Override
public void codeComplete(final int offset, final CompletionRequestor requestor, final WorkingCopyOwner owner) throws JavaModelException {
  compilationUnit.codeComplete(offset, requestor, owner);
}
项目:PerformanceHat    文件:AbstractCompilationUnitDecorator.java   
/**
 * {@inheritDoc}
 */
@Override
public void codeComplete(final int offset, final CompletionRequestor requestor, final WorkingCopyOwner owner, final IProgressMonitor monitor) throws JavaModelException {
  compilationUnit.codeComplete(offset, requestor, owner, monitor);
}
项目:Eclipse-Postfix-Code-Completion    文件:SimilarElementsRequestor.java   
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();
        }   
    }   
}
项目:Eclipse-Postfix-Code-Completion-Juno38    文件:SimilarElementsRequestor.java   
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();
        }   
    }   
}
项目:NTNU-Master-Project    文件:WorkspaceManager.java   
public void codeCompletion(String packageName, String fileName, int offset, CompletionRequestor requestor) throws JavaModelException {
    ICompilationUnit compilationUnit = getCompilationUnit(packageName, fileName);
    compilationUnit.codeComplete(offset, requestor);
}
项目:masteroppgave    文件:WorkspaceManager.java   
public void codeCompletion(String packageName, String fileName, int offset, CompletionRequestor requestor) throws JavaModelException {
    ICompilationUnit compilationUnit = getCompilationUnit(packageName, fileName);
    compilationUnit.codeComplete(offset, requestor);
}