boolean (@NotNull IndexedFile file) { if (file.getFileType() instanceof LanguageFileType) { ParserDefinition parserDefinition = getParserDefinition(file.getFileType(), file.getFileName()); if (parserDefinition == null) return false; final IFileElementType elementType = parserDefinition.getFileNodeType(); if (elementType instanceof IStubFileElementType && ((IStubFileElementType<?>)elementType).shouldBuildStubFor(file.getFile())) { logIfStubTraceEnabled("Should build stub for " + file.getFileName()); return true; } logIfStubTraceEnabled("Can't build stub using stub file element type " + file.getFileName() + ", properties: " + PushedFilePropertiesRetriever.getInstance().dumpSortedPushedProperties(file.getFile())); } BinaryFileStubBuilder builder = getBinaryStubBuilder(file.getFileType()); return builder != null && builder.acceptsFile(file.getFile()); }