当前位置: 首页>>代码示例>>Java>>正文


Java TailTypeDecorator.withTail方法代码示例

本文整理汇总了Java中com.intellij.codeInsight.lookup.TailTypeDecorator.withTail方法的典型用法代码示例。如果您正苦于以下问题:Java TailTypeDecorator.withTail方法的具体用法?Java TailTypeDecorator.withTail怎么用?Java TailTypeDecorator.withTail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.codeInsight.lookup.TailTypeDecorator的用法示例。


在下文中一共展示了TailTypeDecorator.withTail方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createParametersLookupElement

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
private static LookupElement createParametersLookupElement(PsiMethod takeParametersFrom, PsiElement call, PsiMethod invoked) {
  PsiParameter[] parameters = takeParametersFrom.getParameterList().getParameters();
  final String lookupString = StringUtil.join(parameters, new Function<PsiParameter, String>() {
    @Override
    public String fun(PsiParameter psiParameter) {
      return psiParameter.getName();
    }
  }, ", ");

  final int w = PlatformIcons.PARAMETER_ICON.getIconWidth();
  LayeredIcon icon = new LayeredIcon(2);
  icon.setIcon(PlatformIcons.PARAMETER_ICON, 0, 2*w/5, 0);
  icon.setIcon(PlatformIcons.PARAMETER_ICON, 1);

  final LookupElement element = LookupElementBuilder.create(lookupString).withIcon(icon);
  element.putUserData(JavaCompletionUtil.SUPER_METHOD_PARAMETERS, Boolean.TRUE);

  return TailTypeDecorator.withTail(element, ExpectedTypesProvider.getFinalCallParameterTailType(call, invoked.getReturnType(), invoked));
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:20,代码来源:SameSignatureCallParametersProvider.java

示例2: addBreakContinue

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
private static void addBreakContinue(CompletionResultSet result, PsiElement position) {
  PsiLoopStatement loop = PsiTreeUtil.getParentOfType(position, PsiLoopStatement.class);

  LookupElement br = createKeyword(position, PsiKeyword.BREAK);
  LookupElement cont = createKeyword(position, PsiKeyword.CONTINUE);
  TailType tailType;
  if (psiElement().insideSequence(true, psiElement(PsiLabeledStatement.class),
                                  or(psiElement(PsiFile.class), psiElement(PsiMethod.class),
                                     psiElement(PsiClassInitializer.class))).accepts(position)) {
    tailType = TailType.HUMBLE_SPACE_BEFORE_WORD;
  }
  else {
    tailType = TailType.SEMICOLON;
  }
  br = TailTypeDecorator.withTail(br, tailType);
  cont = TailTypeDecorator.withTail(cont, tailType);

  if (loop != null && new InsideElementFilter(new ClassFilter(PsiStatement.class)).isAcceptable(position, loop)) {
    result.addElement(br);
    result.addElement(cont);
  }
  if (psiElement().inside(PsiSwitchStatement.class).accepts(position)) {
    result.addElement(br);
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:26,代码来源:JavaCompletionData.java

示例3: createParametersLookupElement

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
private static LookupElement createParametersLookupElement(final PsiMethod takeParametersFrom, PsiElement call, PsiMethod invoked) {
  final PsiParameter[] parameters = takeParametersFrom.getParameterList().getParameters();
  final String lookupString = StringUtil.join(parameters, new Function<PsiParameter, String>() {
    @Override
    public String fun(PsiParameter psiParameter) {
      return psiParameter.getName();
    }
  }, ", ");

  final int w = PlatformIcons.PARAMETER_ICON.getIconWidth();
  LayeredIcon icon = new LayeredIcon(2);
  icon.setIcon(PlatformIcons.PARAMETER_ICON, 0, 2*w/5, 0);
  icon.setIcon(PlatformIcons.PARAMETER_ICON, 1);

  LookupElementBuilder element = LookupElementBuilder.create(lookupString).withIcon(icon);
  if (PsiTreeUtil.isAncestor(takeParametersFrom, call, true)) {
    element = element.withInsertHandler(new InsertHandler<LookupElement>() {
      @Override
      public void handleInsert(InsertionContext context, LookupElement item) {
        context.commitDocument();
        for (PsiParameter parameter : CompletionUtil.getOriginalOrSelf(takeParametersFrom).getParameterList().getParameters()) {
          VariableLookupItem.makeFinalIfNeeded(context, parameter);
        }
      }
    });
  }
  element.putUserData(JavaCompletionUtil.SUPER_METHOD_PARAMETERS, Boolean.TRUE);

  return TailTypeDecorator.withTail(element, ExpectedTypesProvider.getFinalCallParameterTailType(call, invoked.getReturnType(), invoked));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:SameSignatureCallParametersProvider.java

示例4: createLookupElement

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
protected LookupElement createLookupElement(@NotNull Option option, @NotNull String text) {
  LookupElementBuilder res = LookupElementBuilder.create(text);

  if (option.getDescription() != null) {
    return TailTypeDecorator.withTail(res.withTypeText(option.getDescription(), true), TailType.INSERT_SPACE);
  }

  return res;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:10,代码来源:CommandLineCompletionProvider.java

示例5: getSystemPropertiesVariants

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
public static List<LookupElement> getSystemPropertiesVariants() {
  if (SYSTEM_PROPERTIES_VARIANTS == null) {
    LookupElement[] res = new LookupElement[SYSTEM_PROPERTIES.length];
    for (int i = 0; i < res.length; i++) {
      res[i] = TailTypeDecorator.withTail(LookupElementBuilder.create("-D" + SYSTEM_PROPERTIES[i]), MyTailTypeEQ.INSTANCE);
    }

    SYSTEM_PROPERTIES_VARIANTS = Arrays.asList(res);
  }

  return SYSTEM_PROPERTIES_VARIANTS;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:MvcTargetDialogCompletionUtils.java

示例6: createParametersLookupElement

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
private static LookupElement createParametersLookupElement(final PsiMethod takeParametersFrom, PsiElement call, PsiMethod invoked)
{
	final PsiParameter[] parameters = takeParametersFrom.getParameterList().getParameters();
	final String lookupString = StringUtil.join(parameters, psiParameter -> psiParameter.getName(), ", ");

	final int w = PlatformIcons.PARAMETER_ICON.getIconWidth();
	LayeredIcon icon = new LayeredIcon(2);
	icon.setIcon(PlatformIcons.PARAMETER_ICON, 0, 2 * w / 5, 0);
	icon.setIcon(PlatformIcons.PARAMETER_ICON, 1);

	LookupElementBuilder element = LookupElementBuilder.create(lookupString).withIcon(icon);
	if(PsiTreeUtil.isAncestor(takeParametersFrom, call, true))
	{
		element = element.withInsertHandler(new InsertHandler<LookupElement>()
		{
			@Override
			public void handleInsert(InsertionContext context, LookupElement item)
			{
				context.commitDocument();
				for(PsiParameter parameter : CompletionUtil.getOriginalOrSelf(takeParametersFrom).getParameterList().getParameters())
				{
					VariableLookupItem.makeFinalIfNeeded(context, parameter);
				}
			}
		});
	}
	element.putUserData(JavaCompletionUtil.SUPER_METHOD_PARAMETERS, Boolean.TRUE);

	return TailTypeDecorator.withTail(element, ExpectedTypesProvider.getFinalCallParameterTailType(call, invoked.getReturnType(), invoked));
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:31,代码来源:SameSignatureCallParametersProvider.java

示例7: addBreakContinue

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
private void addBreakContinue()
{
	PsiLoopStatement loop = PsiTreeUtil.getParentOfType(myPosition, PsiLoopStatement.class, true, PsiLambdaExpression.class, PsiMember.class);

	LookupElement br = createKeyword(PsiKeyword.BREAK);
	LookupElement cont = createKeyword(PsiKeyword.CONTINUE);
	TailType tailType;
	if(psiElement().insideSequence(true, psiElement(PsiLabeledStatement.class), or(psiElement(PsiFile.class), psiElement(PsiMethod.class), psiElement(PsiClassInitializer.class))).accepts
			(myPosition))
	{
		tailType = TailType.HUMBLE_SPACE_BEFORE_WORD;
	}
	else
	{
		tailType = TailType.SEMICOLON;
	}
	br = TailTypeDecorator.withTail(br, tailType);
	cont = TailTypeDecorator.withTail(cont, tailType);

	if(loop != null && PsiTreeUtil.isAncestor(loop.getBody(), myPosition, false))
	{
		addKeyword(br);
		addKeyword(cont);
	}
	if(psiElement().inside(PsiSwitchStatement.class).accepts(myPosition))
	{
		addKeyword(br);
	}

	for(PsiLabeledStatement labeled : psiApi().parents(myPosition).takeWhile(notInstanceOf(PsiMember.class)).filter(PsiLabeledStatement.class))
	{
		addKeyword(TailTypeDecorator.withTail(LookupElementBuilder.create("break " + labeled.getName()).bold(), TailType.SEMICOLON));
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:35,代码来源:JavaKeywordCompletion.java

示例8: createCatchTypeVariant

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
@NotNull
private static LookupElement createCatchTypeVariant(PsiCodeBlock tryBlock, PsiClassType type) {
  return TailTypeDecorator.withTail(PsiTypeLookupItem.createLookupItem(type, tryBlock), TailType.HUMBLE_SPACE_BEFORE_WORD);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:5,代码来源:CatchTypeProvider.java

示例9: createClosingTagLookupElement

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
public static LookupElement createClosingTagLookupElement(XmlTag tag, boolean includePrefix, ASTNode nameElement) {
  LookupElementBuilder
    builder = LookupElementBuilder.create(includePrefix || !nameElement.getText().contains(":") ? tag.getName() : tag.getLocalName());
  return TailTypeDecorator.withTail(AutoCompletionPolicy.GIVE_CHANCE_TO_OVERWRITE.applyPolicy(builder),
                                    TailType.createSimpleTailType('>'));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:7,代码来源:TagNameReferenceCompletionProvider.java

示例10: createCatchTypeVariant

import com.intellij.codeInsight.lookup.TailTypeDecorator; //导入方法依赖的package包/类
@NotNull
private static LookupElement createCatchTypeVariant(PsiCodeBlock tryBlock, PsiClassType type)
{
	return TailTypeDecorator.withTail(PsiTypeLookupItem.createLookupItem(type, tryBlock), TailType.HUMBLE_SPACE_BEFORE_WORD);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:6,代码来源:CatchTypeProvider.java


注:本文中的com.intellij.codeInsight.lookup.TailTypeDecorator.withTail方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。