类com.intellij.psi.SyntheticElement源码实例Demo

下面列出了怎么用com.intellij.psi.SyntheticElement的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
@RequiredUIAccess
public boolean isAvailable(@Nonnull Project project, Editor editor, @Nonnull PsiElement psi)
{
	CSharpExpressionStatementImpl exprStmt = PsiTreeUtil.getParentOfType(psi, CSharpExpressionStatementImpl.class);
	if(psi instanceof SyntheticElement || exprStmt == null)
	{
		return false;
	}

	DotNetExpression expression = exprStmt.getExpression();
	if(expression instanceof CSharpAssignmentExpressionImpl)
	{
		return false;
	}

	DotNetTypeRef ref = expression.toTypeRef(true);
	return !(ref == DotNetTypeRef.ERROR_TYPE || DotNetTypeRefUtil.isVmQNameEqual(ref, expression, DotNetTypes.System.Void));
}
 
@Nullable
private PsiClass getTargetClass(Editor editor, PsiFile file) {
  int offset = editor.getCaretModel().getOffset();
  PsiElement element = file.findElementAt(offset);
  if (element == null) {
    return null;
  }
  final PsiClass target = PsiTreeUtil.getParentOfType(element, PsiClass.class);
  return target instanceof SyntheticElement ? null : target;
}
 
源代码3 项目: consulo   文件: RenameElementAction.java
@Override
public boolean isEnabledOnElements(@Nonnull PsiElement[] elements) {
  if (elements.length != 1) return false;

  PsiElement element = elements[0];
  return element instanceof PsiNamedElement && !(element instanceof SyntheticElement);
}
 
 类所在包
 类方法
 同包方法