當前位置: 首頁>>代碼示例>>Java>>正文


Java ModuleUtil.getModuleType方法代碼示例

本文整理匯總了Java中com.intellij.openapi.module.ModuleUtil.getModuleType方法的典型用法代碼示例。如果您正苦於以下問題:Java ModuleUtil.getModuleType方法的具體用法?Java ModuleUtil.getModuleType怎麽用?Java ModuleUtil.getModuleType使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在com.intellij.openapi.module.ModuleUtil的用法示例。


在下文中一共展示了ModuleUtil.getModuleType方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: buildVisitor

import com.intellij.openapi.module.ModuleUtil; //導入方法依賴的package包/類
@NotNull
@Override
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
    Module psiFileModule = ModuleUtil.findModuleForPsiElement(holder.getFile());

    if (psiFileModule != null && ModuleUtil.getModuleType(psiFileModule) != ProcessingModuleType.getInstance()) {
        return PsiElementVisitor.EMPTY_VISITOR;
    }

    PsiClass pAppletSubclass = getMainSketchClass(holder.getFile());

    if (pAppletSubclass == null) {
        return PsiElementVisitor.EMPTY_VISITOR;
    }

    return new PsiElementVisitor() {
        @Override
        public void visitElement(PsiElement element) {
            if (element instanceof PsiMethodCallExpression) {
                PsiMethodCallExpression methodCall = (PsiMethodCallExpression) element;

                PsiMethod referencedMethod = methodCall.resolveMethod();

                if (referencedMethod != null &&
                        referencedMethod.getContainingClass().getQualifiedName().equals("processing.core.PApplet")) {

                    if (SETTINGS_METHODS.contains(referencedMethod.getName())) {
                        PsiMethod enclosingMethod = PsiTreeUtil.getParentOfType(methodCall, PsiMethod.class);

                        if (enclosingMethod.getName().equals("settings")) {
                            PsiMethod[] superMethods = enclosingMethod.findSuperMethods();

                            if (superMethods.length > 0) {
                                for (PsiMethod superMethod : superMethods) {
                                    if (superMethod.getContainingClass().getQualifiedName().equals("processing.core.PApplet")) {
                                        return;
                                    }
                                }
                            }
                        }

                        holder.registerProblem(element, "PApplet#" + referencedMethod.getName() +
                                " method should be invoked only from 'settings' method", new MoveSettingsFromSetupQuickFix(element));
                    }
                }
            }
        }
    };
}
 
開發者ID:mistodev,項目名稱:processing-idea,代碼行數:50,代碼來源:SettingsInvokedInSetupInspection.java

示例2: isSquirrelModule

import com.intellij.openapi.module.ModuleUtil; //導入方法依賴的package包/類
@Override
public boolean isSquirrelModule(@Nullable Module module) {
    return module != null && ModuleUtil.getModuleType(module) == SquirrelModuleType.getInstance();
}
 
開發者ID:shvetsgroup,項目名稱:squirrel-lang-idea-plugin,代碼行數:5,代碼來源:SquirrelIdeaSdkService.java


注:本文中的com.intellij.openapi.module.ModuleUtil.getModuleType方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。