boolean (@NotNull FileType type) { if (myCompilableTypes.contains(type)) { return true; } Set<FileType> types = myCachedCompilableTypes; if (types == null) { types = new HashSet<>(); for (CompilableFileTypesProvider extension : COMPILABLE_TYPE_EP.getExtensions(myProject)) { types.addAll(extension.getCompilableFileTypes()); } for (BackendCompiler compiler : BackendCompiler.EP_NAME.getExtensions(myProject)) { types.addAll(compiler.getCompilableFileTypes()); } myCachedCompilableTypes = types; } return types.contains(type); }