• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PsiAnonymousClass类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.intellij.psi.PsiAnonymousClass的典型用法代码示例。如果您正苦于以下问题:Java PsiAnonymousClass类的具体用法?Java PsiAnonymousClass怎么用?Java PsiAnonymousClass使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PsiAnonymousClass类属于com.intellij.psi包,在下文中一共展示了PsiAnonymousClass类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: search

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public static Query<PsiClass> search(final PsiClass aClass,
                                     SearchScope scope,
                                     boolean includeAnonymous,
                                     final boolean checkInheritance) {
  final Query<PsiClass> raw = INSTANCE.createUniqueResultsQuery(new SearchParameters(aClass, scope, includeAnonymous, checkInheritance));

  if (!includeAnonymous) {
    return new FilteredQuery<PsiClass>(raw, new Condition<PsiClass>() {
      @Override
      public boolean value(final PsiClass psiClass) {
        return !(psiClass instanceof PsiAnonymousClass);
      }
    });
  }

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


示例2: createMethodFilter

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
/**
 * Override in case if your JVMNames slightly different then it can be provided by getJvmSignature method.
 *
 * @param stepTarget
 * @return SmartStepFilter
 */
@Nullable
protected MethodFilter createMethodFilter(SmartStepTarget stepTarget) {
  if (stepTarget instanceof MethodSmartStepTarget) {
    final PsiMethod method = ((MethodSmartStepTarget)stepTarget).getMethod();
    if (stepTarget.needsBreakpointRequest()) {
      return Registry.is("debugger.async.smart.step.into") && method.getContainingClass() instanceof PsiAnonymousClass
             ? new ClassInstanceMethodFilter(method, stepTarget.getCallingExpressionLines())
             : new AnonymousClassMethodFilter(method, stepTarget.getCallingExpressionLines());
    }
    else {
      return new BasicStepMethodFilter(method, stepTarget.getCallingExpressionLines());
    }
  }
  if (stepTarget instanceof LambdaSmartStepTarget) {
    final LambdaSmartStepTarget lambdaTarget = (LambdaSmartStepTarget)stepTarget;
    return new LambdaMethodFilter(lambdaTarget.getLambda(), lambdaTarget.getOrdinal(), stepTarget.getCallingExpressionLines());
  }
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:JvmSmartStepIntoHandler.java


示例3: provideNodes

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
@NotNull
@Override
public Collection<JavaAnonymousClassTreeElement> provideNodes(@NotNull TreeElement node) {
  if (node instanceof PsiMethodTreeElement || node instanceof PsiFieldTreeElement || node instanceof ClassInitializerTreeElement) {
    final PsiElement el = ((PsiTreeElementBase)node).getElement();
    if (el != null) {
      for (AnonymousElementProvider provider : Extensions.getExtensions(AnonymousElementProvider.EP_NAME)) {
        final PsiElement[] elements = provider.getAnonymousElements(el);
        if (elements.length > 0) {
          List<JavaAnonymousClassTreeElement> result = new ArrayList<JavaAnonymousClassTreeElement>(elements.length);
          for (PsiElement element : elements) {
            result.add(new JavaAnonymousClassTreeElement((PsiAnonymousClass)element, new HashSet<PsiClass>()));
          }
          return result;
        }
      }
    }
  }
  return Collections.emptyList();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:JavaAnonymousClassesNodeProvider.java


示例4: invoke

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public void invoke(@NotNull Project project, Editor editor, PsiFile file, DataContext dataContext) {
  int offset = editor.getCaretModel().getOffset();
  editor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
  PsiElement element = file.findElementAt(offset);
  while (true) {
    if (element == null || element instanceof PsiFile) {
      String message = RefactoringBundle.getCannotRefactorMessage(RefactoringBundle.message("error.wrong.caret.position.class"));
      CommonRefactoringUtil.showErrorHint(project, editor, message, REFACTORING_NAME, HelpID.TURN_REFS_TO_SUPER);
      return;
    }
    if (element instanceof PsiClass && !(element instanceof PsiAnonymousClass)) {
      invoke(project, new PsiElement[]{element}, dataContext);
      return;
    }
    element = element.getParent();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:TurnRefsToSuperHandler.java


示例5: doFix

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
@Override
public void doFix(@NotNull final Project project, ProblemDescriptor descriptor) {
  final PsiElement nameElement = descriptor.getPsiElement();
  final PsiAnonymousClass aClass =
    (PsiAnonymousClass)nameElement.getParent();
  final JavaRefactoringActionHandlerFactory factory =
    JavaRefactoringActionHandlerFactory.getInstance();
  final RefactoringActionHandler anonymousToInner =
    factory.createAnonymousToInnerHandler();
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = dataManager.getDataContext();
  final Runnable runnable = new Runnable() {
    @Override
    public void run() {
      anonymousToInner.invoke(project, new PsiElement[]{aClass}, dataContext);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:25,代码来源:MoveAnonymousToInnerClassFix.java


示例6: buildErrorString

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
@Override
@NotNull
public String buildErrorString(Object... infos) {
  final PsiClass aClass = (PsiClass)infos[0];
  if (aClass.isAnnotationType()) {
    return InspectionGadgetsBundle.message(
      "[email protected]ptor");
  }
  else if (aClass.isInterface()) {
    return InspectionGadgetsBundle.message(
      "non.serializable.interface.with.serialversionuid.problem.descriptor");
  }
  else if (aClass instanceof PsiAnonymousClass) {
    return InspectionGadgetsBundle.message(
      "non.serializable.anonymous.with.serialversionuid.problem.descriptor");
  }
  else {
    return InspectionGadgetsBundle.message(
      "non.serializable.class.with.serialversionuid.problem.descriptor");
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:NonSerializableWithSerialVersionUIDFieldInspection.java


示例7: provideNodes

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
@Override
public Collection<JavaAnonymousClassTreeElement> provideNodes(TreeElement node) {
  if (node instanceof PsiMethodTreeElement || node instanceof PsiFieldTreeElement || node instanceof ClassInitializerTreeElement) {
    final PsiElement el = ((PsiTreeElementBase)node).getElement();
    for (AnonymousElementProvider provider : Extensions.getExtensions(AnonymousElementProvider.EP_NAME)) {
      final PsiElement[] elements = provider.getAnonymousElements(el);
      if (elements != null && elements.length > 0) {
        List<JavaAnonymousClassTreeElement> result = new ArrayList<JavaAnonymousClassTreeElement>(elements.length);
        for (PsiElement element : elements) {
          result.add(new JavaAnonymousClassTreeElement((PsiAnonymousClass)element, new HashSet<PsiClass>()));
        }
        return result;
      }
    }
  }
  return Collections.emptyList();
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:18,代码来源:JavaAnonymousClassesNodeProvider.java


示例8: getCustomTopLevelParentClass

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
@Nullable
@Override
protected PsiClass getCustomTopLevelParentClass(PsiClass psiClass) {
  if (!(psiClass instanceof GrTypeDefinition)) return null;

  PsiClass enclosing = PsiTreeUtil.getParentOfType(psiClass, PsiClass.class, true);
  while (enclosing != null) {
    psiClass = enclosing;
    enclosing = PsiTreeUtil.getParentOfType(enclosing, PsiClass.class, true);
  }

  if (psiClass instanceof PsiAnonymousClass) {
    final PsiFile file = psiClass.getContainingFile();
    if (file instanceof GroovyFile) {
      return ((GroovyFile)file).getScriptClass();
    }
  }

  return psiClass;
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:21,代码来源:GroovyTopLevelParentClassProvider.java


示例9: validateBaseClassConstructor

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public boolean validateBaseClassConstructor(@NotNull PsiClass psiClass, @NotNull ProblemBuilder builder) {
  if (psiClass instanceof PsiAnonymousClass || psiClass.isEnum()) {
    return true;
  }
  PsiClass baseClass = psiClass.getSuperClass();
  if (baseClass == null) {
    return true;
  }
  PsiMethod[] constructors = baseClass.getConstructors();
  if (constructors.length == 0) {
    return true;
  }

  for (PsiMethod constructor : constructors) {
    final int parametersCount = constructor.getParameterList().getParametersCount();
    if (parametersCount == 0 || parametersCount == 1 && constructor.isVarArgs()) {
      return true;
    }
  }
  builder.addError("Lombok needs a default constructor in the base class");
  return false;
}
 
开发者ID:mplushnikov,项目名称:lombok-intellij-plugin,代码行数:23,代码来源:AbstractConstructorClassProcessor.java


示例10: getLambdaPrefix

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public static String getLambdaPrefix(@NotNull PsiLambdaExpression lambdaExpression)
{
	PsiMember member = PsiTreeUtil.getParentOfType(lambdaExpression, PsiMethod.class, PsiClass.class, PsiField.class);
	final String methodPrefix;
	if(member instanceof PsiMethod)
	{
		methodPrefix = member.getContainingClass() instanceof PsiAnonymousClass ? "" : "$" + member.getName();
	}
	else if(member instanceof PsiField && member.getContainingClass() instanceof PsiAnonymousClass)
	{
		methodPrefix = "";
	}
	else
	{
		//inside class initializer everywhere or field in a named class
		methodPrefix = "$new";
	}
	return methodPrefix;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:20,代码来源:PsiLambdaNameHelper.java


示例11: isUnusedInAnonymousClass

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
private static boolean isUnusedInAnonymousClass(@NotNull PsiMethod method)
{
	PsiClass containingClass = method.getContainingClass();
	if(!(containingClass instanceof PsiAnonymousClass))
	{
		return false;
	}

	if(containingClass.getParent() instanceof PsiNewExpression && containingClass.getParent().getParent() instanceof PsiVariable && !method.getHierarchicalMethodSignature().getSuperSignatures()
			.isEmpty())
	{
		// references outside anonymous class can still resolve to this method, see com.intellij.psi.scope.util.PsiScopesUtil.setupAndRunProcessor()
		return false;
	}

	return MethodReferencesSearch.search(method, new LocalSearchScope(containingClass), false).findFirst() == null;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:18,代码来源:InferenceFromSourceUtil.java


示例12: getContainingClassNames

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
private static Set<String> getContainingClassNames(PsiElement position)
{
	Set<String> result = ContainerUtil.newLinkedHashSet();
	boolean add = false;
	while(position != null)
	{
		if(position instanceof PsiAnonymousClass)
		{
			add = true;
		}
		else if(add && position instanceof PsiClass)
		{
			ContainerUtil.addIfNotNull(result, ((PsiClass) position).getName());
		}
		position = position.getParent();
	}
	return result;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:19,代码来源:SuperCalls.java


示例13: isAvailableForElement

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public static boolean isAvailableForElement(PsiElement element) {
  if (Extensions.getExtensions(TestFramework.EXTENSION_NAME).length == 0) return false;

  if (element == null) return false;

  PsiClass psiClass = getContainingClass(element);

  if (psiClass == null) return false;

  Module srcModule = ModuleUtilCore.findModuleForPsiElement(psiClass);
  if (srcModule == null) return false;

  if (psiClass.isAnnotationType() ||
      psiClass instanceof PsiAnonymousClass ||
      PsiTreeUtil.getParentOfType(psiClass, PsiClass.class) != null || // inner
      isUnderTestSources(psiClass)) {
    return false;
  }
  return true;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:21,代码来源:CreateTestAction.java


示例14: invoke

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public void invoke(@NotNull Project project, Editor editor, PsiFile file, DataContext dataContext) {
  editor.getScrollingModel().scrollToCaret(ScrollType.MAKE_VISIBLE);
  int offset = editor.getCaretModel().getOffset();
  PsiElement element = file.findElementAt(offset);
  while (true) {
    if (element == null || element instanceof PsiFile) {
      String message = RefactoringBundle.getCannotRefactorMessage(RefactoringBundle.message("error.wrong.caret.position.class"));
      CommonRefactoringUtil.showErrorHint(project, editor, message, REFACTORING_NAME, HelpID.INHERITANCE_TO_DELEGATION);
      return;
    }

    if (element instanceof PsiClass && !(element instanceof PsiAnonymousClass)) {
      invoke(project, new PsiElement[]{element}, dataContext);
      return;
    }
    element = element.getParent();
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:19,代码来源:InheritanceToDelegationHandler.java


示例15: doFix

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public void doFix(@NotNull final Project project, ProblemDescriptor descriptor) {
  final PsiElement nameElement = descriptor.getPsiElement();
  final PsiAnonymousClass aClass =
    (PsiAnonymousClass)nameElement.getParent();
  final JavaRefactoringActionHandlerFactory factory =
    JavaRefactoringActionHandlerFactory.getInstance();
  final RefactoringActionHandler anonymousToInner =
    factory.createAnonymousToInnerHandler();
  final DataManager dataManager = DataManager.getInstance();
  final DataContext dataContext = dataManager.getDataContext();
  final Runnable runnable = new Runnable() {
    public void run() {
      anonymousToInner.invoke(project, new PsiElement[]{aClass}, dataContext);
    }
  };
  if (ApplicationManager.getApplication().isUnitTestMode()) {
    runnable.run();
  }
  else {
    ApplicationManager.getApplication().invokeLater(runnable, project.getDisposed());
  }
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:23,代码来源:MoveAnonymousToInnerClassFix.java


示例16: createMethodFilter

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
/**
 * Override in case if your JVMNames slightly different then it can be provided by getJvmSignature method.
 *
 * @param stepTarget
 * @return SmartStepFilter
 */
@Nullable
protected MethodFilter createMethodFilter(SmartStepTarget stepTarget)
{
	if(stepTarget instanceof MethodSmartStepTarget)
	{
		final PsiMethod method = ((MethodSmartStepTarget) stepTarget).getMethod();
		if(stepTarget.needsBreakpointRequest())
		{
			return method.getContainingClass() instanceof PsiAnonymousClass ? new ClassInstanceMethodFilter(method, stepTarget.getCallingExpressionLines()) : new AnonymousClassMethodFilter
					(method, stepTarget.getCallingExpressionLines());
		}
		else
		{
			return new BasicStepMethodFilter(method, stepTarget.getCallingExpressionLines());
		}
	}
	if(stepTarget instanceof LambdaSmartStepTarget)
	{
		final LambdaSmartStepTarget lambdaTarget = (LambdaSmartStepTarget) stepTarget;
		return new LambdaMethodFilter(lambdaTarget.getLambda(), lambdaTarget.getOrdinal(), stepTarget.getCallingExpressionLines());
	}
	return null;
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:30,代码来源:JvmSmartStepIntoHandler.java


示例17: findMethod

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public static PsiMethod findMethod(PsiElement element) {
    PsiMethod method = (element instanceof PsiMethod) ? (PsiMethod) element :
            PsiTreeUtil.getParentOfType(element, PsiMethod.class);
    if (method != null && method.getContainingClass() instanceof PsiAnonymousClass) {
        return findMethod(method.getParent());
    }
    return method;
}
 
开发者ID:bjzhou,项目名称:FindViewPlugin,代码行数:9,代码来源:PsiUtils.java


示例18: cannotBeOverriden

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
private static boolean cannotBeOverriden(final PsiMethod method) {
  final PsiClass parentClass = method.getContainingClass();
  return parentClass == null
         || method.isConstructor()
         || method.hasModifierProperty(PsiModifier.STATIC)
         || method.hasModifierProperty(PsiModifier.FINAL)
         || method.hasModifierProperty(PsiModifier.PRIVATE)
         || parentClass instanceof PsiAnonymousClass
         || parentClass.hasModifierProperty(PsiModifier.FINAL);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:OverridingMethodsSearch.java


示例19: isRunnableClass

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public static boolean isRunnableClass(final PsiClass aClass, final boolean mustBePublic, boolean mustNotBeAbstract) {
  if (aClass instanceof PsiAnonymousClass) return false;
  if (aClass.isInterface()) return false;
  if (mustBePublic && !aClass.hasModifierProperty(PsiModifier.PUBLIC)) return false;
  if (aClass.hasModifierProperty(PsiModifier.PRIVATE)) return false;
  if (mustNotBeAbstract && aClass.hasModifierProperty(PsiModifier.ABSTRACT)) return false;
  return aClass.getContainingClass() == null || aClass.hasModifierProperty(PsiModifier.STATIC);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:9,代码来源:PsiClassUtil.java


示例20: createClassFilter

import com.intellij.psi.PsiAnonymousClass; //导入依赖的package包/类
public static TargetClassFilter createClassFilter(PsiClass psiClass) {
  if (psiClass instanceof PsiAnonymousClass) {
    return TargetClassFilter.ALL;
  }
  if (PsiUtil.isLocalClass(psiClass)) {
    return new LocalClassFilter(psiClass.getName());
  }
  final String name = JVMNameUtil.getNonAnonymousClassName(psiClass);
  return name != null? new FQNameClassFilter(name) : TargetClassFilter.ALL;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:11,代码来源:FieldEvaluator.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java UUIDSerializer类代码示例发布时间:2022-05-22
下一篇:
Java YmlReader类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap