本文整理汇总了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;未经允许,请勿转载。 |
请发表评论