Minor refactoring after conversion

This commit is contained in:
Valentin Kipyatkov
2015-01-21 21:00:11 +03:00
parent f6df6eaeea
commit 975b67ed29
12 changed files with 27 additions and 38 deletions
@@ -118,7 +118,7 @@ public object ShortenReferences {
file: JetFile,
fileElements: List<JetElement> = Collections.singletonList(file)
): Map<JetReferenceExpression, BindingContext> {
ImportInsertHelper.getInstance().optimizeImportsOnTheFly(file)
ImportInsertHelper.INSTANCE.optimizeImportsOnTheFly(file)
return JetFileReferencesResolver.resolve(file, fileElements, resolveShortNames = false)
}
@@ -312,14 +312,14 @@ public object ShortenReferences {
if (realTarget.getContainingDeclaration() is ClassDescriptor) return false // do not insert imports for nested classes
optimizeImports()
ImportInsertHelper.getInstance().writeImportToFile(ImportPath(DescriptorUtils.getFqNameSafe(realTarget), false), file)
ImportInsertHelper.INSTANCE.writeImportToFile(ImportPath(DescriptorUtils.getFqNameSafe(realTarget), false), file)
return true
}
fun optimizeImports(): Boolean {
if (!optimizeImports) return false
optimizeImports = false
return ImportInsertHelper.getInstance().optimizeImportsOnTheFly(file)
return ImportInsertHelper.INSTANCE.optimizeImportsOnTheFly(file)
}
}
}
@@ -22,24 +22,22 @@ import org.jetbrains.kotlin.psi.JetFile
import org.jetbrains.kotlin.psi.JetImportDirective
import org.jetbrains.kotlin.resolve.ImportPath
public abstract class ImportInsertHelper {
public trait ImportInsertHelper {
public abstract fun addImportDirectiveIfNeeded(importFqn: FqName, file: JetFile)
public fun addImportDirectiveIfNeeded(importFqn: FqName, file: JetFile)
public abstract fun optimizeImportsOnTheFly(file: JetFile): Boolean
public fun optimizeImportsOnTheFly(file: JetFile): Boolean
public abstract fun isImportedWithDefault(importPath: ImportPath, contextFile: JetFile): Boolean
public fun isImportedWithDefault(importPath: ImportPath, contextFile: JetFile): Boolean
public abstract fun needImport(fqName: FqName, file: JetFile): Boolean
public fun needImport(fqName: FqName, file: JetFile): Boolean = needImport(ImportPath(fqName, false), file)
public abstract fun needImport(importPath: ImportPath, file: JetFile): Boolean
public fun needImport(importPath: ImportPath, file: JetFile, importDirectives: List<JetImportDirective> = file.getImportDirectives()): Boolean
public abstract fun needImport(importPath: ImportPath, file: JetFile, importDirectives: List<JetImportDirective>): Boolean
public abstract fun writeImportToFile(importPath: ImportPath, file: JetFile)
public fun writeImportToFile(importPath: ImportPath, file: JetFile)
class object {
public fun getInstance(): ImportInsertHelper {
return ServiceManager.getService<ImportInsertHelper>(javaClass<ImportInsertHelper>())
}
public val INSTANCE: ImportInsertHelper
get() = ServiceManager.getService<ImportInsertHelper>(javaClass<ImportInsertHelper>())
}
}