private IDartCompletionProposal createFieldProposal(CompletionProposal proposal) {
    String completion = String.valueOf(proposal.getCompletion());
    int start = proposal.getReplaceStart();
    int length = getLength(proposal);
    StyledString label = fLabelProvider.createStyledLabel(proposal);
    Image image = getImage(fLabelProvider.createFieldImageDescriptor(proposal));
    int relevance = computeRelevance(proposal);

    @SuppressWarnings("deprecation")
    DartCompletionProposal dartProposal =
        new DartCompletionProposal(
            completion,
            start,
            length,
            getLengthIdentifier(proposal),
            image,
            label,
            relevance,
            getContext().isInJavadoc(),
            proposal.getElement(),
            getInvocationContext());
    // TODO(scheglov) implement documentation comment
    //    if (fDartProject != null) {
    //      dartProposal.setProposalInfo(new FieldProposalInfo(fDartProject, proposal));
    //    }

    dartProposal.setTriggerCharacters(VAR_TRIGGER);

    return dartProposal;
  }
  private IDartCompletionProposal createLibraryPrefixProposal(CompletionProposal proposal) {
    String completion = String.valueOf(proposal.getCompletion());
    int start = proposal.getReplaceStart();
    int length = getLength(proposal);
    StyledString label =
        new StyledString(fLabelProvider.createSimpleLabel(proposal)); // TODO(messick)
    Image image = getImage(fLabelProvider.createLibraryImageDescriptor(proposal));
    int relevance = computeRelevance(proposal);

    return new DartCompletionProposal(
        completion,
        start,
        length,
        getLengthIdentifier(proposal),
        image,
        label,
        relevance,
        proposal.getElement());
  }
 private IDartCompletionProposal createImportProposal(CompletionProposal proposal) {
   String completion = String.valueOf(proposal.getCompletion());
   int start = proposal.getReplaceStart();
   int length = getLength(proposal);
   StyledString label =
       new StyledString(fLabelProvider.createSimpleLabel(proposal)); // TODO(messick)
   int relevance = computeRelevance(proposal);
   ImageDescriptor imageDesc = fLabelProvider.createImageDescriptor(proposal);
   Image image = DartToolsPlugin.getImageDescriptorRegistry().get(imageDesc);
   return new DartCompletionProposal(
       completion,
       start,
       length,
       getLengthIdentifier(proposal),
       image,
       label,
       relevance,
       proposal.getElement());
 }
 private IDartCompletionProposal createLocalVariableProposal(CompletionProposal proposal) {
   String completion = String.valueOf(proposal.getCompletion());
   int start = proposal.getReplaceStart();
   int length = getLength(proposal);
   Image image = getImage(fLabelProvider.createLocalImageDescriptor(proposal));
   StyledString label = fLabelProvider.createLabelWithType(proposal);
   int relevance = computeRelevance(proposal);
   final DartCompletionProposal dartProposal =
       new DartCompletionProposal(
           completion,
           start,
           length,
           getLengthIdentifier(proposal),
           image,
           label,
           relevance,
           proposal.getElement());
   dartProposal.setTriggerCharacters(VAR_TRIGGER);
   return dartProposal;
 }
  private IDartCompletionProposal createMethodDeclarationProposal(CompletionProposal proposal) {
    if (fCompilationUnit == null || fDartProject == null) {
      return null;
    }

    String name = String.valueOf(proposal.getName());
    String[] paramTypes = Signature.getParameterTypes(String.valueOf(proposal.getSignature()));
    for (int index = 0; index < paramTypes.length; index++) {
      paramTypes[index] = Signature.toString(paramTypes[index]);
    }
    int start = proposal.getReplaceStart();
    int length = getLength(proposal);

    StyledString label =
        new StyledString(
            fLabelProvider.createOverrideMethodProposalLabel(proposal)); // TODO(messick)

    DartCompletionProposal dartProposal =
        new OverrideCompletionProposal(
            fDartProject,
            fCompilationUnit,
            name,
            paramTypes,
            start,
            length,
            getLengthIdentifier(proposal),
            label,
            String.valueOf(proposal.getCompletion()));
    dartProposal.setImage(getImage(fLabelProvider.createMethodImageDescriptor(proposal)));
    // TODO(scheglov) implement documentation comment
    //    dartProposal.setProposalInfo(new MethodProposalInfo(fDartProject, proposal));
    dartProposal.setRelevance(computeRelevance(proposal));

    fSuggestedMethodNames.add(new String(name));
    return dartProposal;
  }
 private IDartCompletionProposal createKeywordProposal(CompletionProposal proposal) {
   String completion = String.valueOf(proposal.getCompletion());
   int start = proposal.getReplaceStart();
   int length = getLength(proposal);
   StyledString label =
       new StyledString(fLabelProvider.createSimpleLabel(proposal)); // TODO(messick)
   int relevance = computeRelevance(proposal);
   return new DartCompletionProposal(
       completion,
       start,
       length,
       getLengthIdentifier(proposal),
       null,
       label,
       relevance,
       proposal.getElement());
 }
 /**
  * {@inheritDoc}
  *
  * <p>Subclasses may extend, but usually should not need to.
  */
 @Override
 public void acceptContext(CompletionContext context) {
   fContext = context;
   fLabelProvider.setContext(context);
 }