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


Java TailType.processTail方法代码示例

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


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

示例1: handleInsert

import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(InsertionContext context) {
  final LookupElement delegate = getDelegate();
  final TailType tailType = computeTailType(context);

  final LookupItem lookupItem = delegate.as(LookupItem.CLASS_CONDITION_KEY);
  if (lookupItem != null && tailType != null) {
    lookupItem.setTailType(TailType.UNKNOWN);
  }
  delegate.handleInsert(context);
  if (tailType != null && tailType.isApplicable(context)) {
    PostprocessReformattingAspect.getInstance(context.getProject()).doPostponedFormatting();
    int tailOffset = context.getTailOffset();
    if (tailOffset < 0) {
      throw new AssertionError("tailOffset < 0: delegate=" + getDelegate() + "; this=" + this + "; tail=" + tailType);
    }
    tailType.processTail(context.getEditor(), tailOffset);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:TailTypeDecorator.java

示例2: handleInsert

import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(final InsertionContext context, LookupElement lookupElement)
{
	context.commitDocument();

	TailType tailType = getTailType(context.getCompletionChar(), (LookupItem) lookupElement);

	final Editor editor = context.getEditor();
	editor.getCaretModel().moveToOffset(context.getSelectionEndOffset());
	tailType.processTail(editor, context.getSelectionEndOffset());
	editor.getSelectionModel().removeSelection();

	if(tailType == TailType.DOT || context.getCompletionChar() == '.')
	{
		AutoPopupController.getInstance(context.getProject()).autoPopupMemberLookup(editor, null);
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:18,代码来源:DefaultInsertHandler.java

示例3: handleInsert

import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(final InsertionContext context, LookupElement lookupElement) {
  context.commitDocument();

  TailType tailType = getTailType(context.getCompletionChar(), (LookupItem)lookupElement);

  final Editor editor = context.getEditor();
  editor.getCaretModel().moveToOffset(context.getSelectionEndOffset());
  tailType.processTail(editor, context.getSelectionEndOffset());
  editor.getSelectionModel().removeSelection();

  if (tailType == TailType.DOT || context.getCompletionChar() == '.') {
    AutoPopupController.getInstance(context.getProject()).autoPopupMemberLookup(editor, null);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:16,代码来源:DefaultInsertHandler.java

示例4: handleInsert

import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
@Override
public void handleInsert(final InsertionContext context) {
  final InsertHandler<? extends LookupElement> handler = getInsertHandler();
  if (handler != null) {
    //noinspection unchecked
    ((InsertHandler)handler).handleInsert(context, this);
  }
  if (getTailType() != TailType.UNKNOWN && myInsertHandler == null) {
    context.setAddCompletionChar(false);
    final TailType type = handleCompletionChar(context.getEditor(), this, context.getCompletionChar());
    type.processTail(context.getEditor(), context.getTailOffset());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:LookupItem.java

示例5: processTail

import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
private static int processTail(TailType tailType, int caretOffset, int tailOffset, Editor editor) {
  editor.getCaretModel().moveToOffset(caretOffset);
  tailType.processTail(editor, tailOffset);
  return editor.getCaretModel().getOffset();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:6,代码来源:DefaultInsertHandler.java

示例6: insertTail

import com.intellij.codeInsight.TailType; //导入方法依赖的package包/类
public static boolean insertTail(InsertionContext context, LookupElement item, TailType tailType, boolean hasTail)
{
	TailType toInsert = tailType;
	LookupItem<?> lookupItem = item.as(LookupItem.CLASS_CONDITION_KEY);
	if(lookupItem == null || lookupItem.getAttribute(LookupItem.TAIL_TYPE_ATTR) != TailType.UNKNOWN)
	{
		if(!hasTail && item.getObject() instanceof PsiMethod && PsiType.VOID.equals(((PsiMethod) item.getObject()).getReturnType()))
		{
			PsiDocumentManager.getInstance(context.getProject()).commitAllDocuments();
			if(psiElement().beforeLeaf(psiElement().withText(".")).accepts(context.getFile().findElementAt(context.getTailOffset() - 1)))
			{
				return false;
			}

			boolean insertAdditionalSemicolon = true;
			PsiElement leaf = context.getFile().findElementAt(context.getStartOffset());
			PsiElement composite = leaf == null ? null : leaf.getParent();
			if(composite instanceof PsiMethodReferenceExpression && LambdaHighlightingUtil.insertSemicolon(composite.getParent()))
			{
				insertAdditionalSemicolon = false;
			}
			else if(composite instanceof PsiReferenceExpression)
			{
				PsiElement parent = composite.getParent();
				if(parent instanceof PsiMethodCallExpression)
				{
					parent = parent.getParent();
				}
				if(parent instanceof PsiLambdaExpression && !LambdaHighlightingUtil.insertSemicolonAfter((PsiLambdaExpression) parent))
				{
					insertAdditionalSemicolon = false;
				}
			}
			if(insertAdditionalSemicolon)
			{
				toInsert = TailType.SEMICOLON;
			}

		}
	}
	toInsert.processTail(context.getEditor(), context.getTailOffset());
	return true;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:44,代码来源:JavaCompletionUtil.java


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