Skip to content

Commit 8df2f44

Browse files
committed
J2K KotlinLightClassGeneration: rewrite
1 parent 8c5cd39 commit 8df2f44

File tree

2 files changed

+29
-47
lines changed

2 files changed

+29
-47
lines changed
Lines changed: 28 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,36 @@
1-
package org.jetbrains.kotlin.core.asJava;
1+
package org.jetbrains.kotlin.core.asJava
22

3-
import java.util.List;
4-
import java.util.Set;
3+
import org.eclipse.core.resources.IFile
4+
import org.eclipse.core.runtime.CoreException
5+
import org.eclipse.jdt.core.IJavaProject
6+
import org.jetbrains.kotlin.analyzer.AnalysisResult
7+
import org.jetbrains.kotlin.codegen.CompilationErrorHandler
8+
import org.jetbrains.kotlin.codegen.KotlinCodegenFacade
9+
import org.jetbrains.kotlin.codegen.state.GenerationState
10+
import org.jetbrains.kotlin.core.filesystem.KotlinLightClassManager
11+
import org.jetbrains.kotlin.core.model.KotlinEnvironment
12+
import org.jetbrains.kotlin.core.model.KotlinJavaManager
13+
import org.jetbrains.kotlin.psi.KtFile
14+
import com.intellij.openapi.project.Project
515

6-
import org.eclipse.core.resources.IFile;
7-
import org.eclipse.core.runtime.CoreException;
8-
import org.eclipse.jdt.core.IJavaProject;
9-
import org.jetbrains.annotations.NotNull;
10-
import org.jetbrains.kotlin.analyzer.AnalysisResult;
11-
import org.jetbrains.kotlin.codegen.CompilationErrorHandler;
12-
import org.jetbrains.kotlin.codegen.KotlinCodegenFacade;
13-
import org.jetbrains.kotlin.codegen.state.GenerationState;
14-
import org.jetbrains.kotlin.core.filesystem.KotlinLightClassManager;
15-
import org.jetbrains.kotlin.core.model.KotlinEnvironment;
16-
import org.jetbrains.kotlin.core.model.KotlinJavaManager;
17-
import org.jetbrains.kotlin.psi.KtFile;
18-
19-
import com.intellij.openapi.project.Project;
20-
21-
public class KotlinLightClassGeneration {
22-
23-
public static void updateLightClasses(
24-
@NotNull IJavaProject javaProject,
25-
@NotNull Set<IFile> affectedFiles) throws CoreException {
26-
if (!KotlinJavaManager.INSTANCE.hasLinkedKotlinBinFolder(javaProject)) {
27-
return;
28-
}
16+
object KotlinLightClassGeneration {
17+
fun updateLightClasses(javaProject: IJavaProject, affectedFiles: Set<IFile>) {
18+
if (!KotlinJavaManager.hasLinkedKotlinBinFolder(javaProject)) return
2919

30-
KotlinLightClassManager.getInstance(javaProject).computeLightClassesSources();
31-
KotlinLightClassManager.getInstance(javaProject).updateLightClasses(affectedFiles);
20+
KotlinLightClassManager.getInstance(javaProject).computeLightClassesSources()
21+
KotlinLightClassManager.getInstance(javaProject).updateLightClasses(affectedFiles)
3222
}
3323

34-
public static GenerationState buildLightClasses(@NotNull AnalysisResult analysisResult, @NotNull IJavaProject javaProject,
35-
@NotNull List<KtFile> jetFiles) {
36-
Project project = KotlinEnvironment.getEnvironment(javaProject).getProject();
37-
38-
GenerationState state = new GenerationState(
39-
project,
40-
new LightClassBuilderFactory(),
41-
analysisResult.getModuleDescriptor(),
42-
analysisResult.getBindingContext(),
43-
jetFiles);
24+
fun buildLightClasses(analysisResult: AnalysisResult, javaProject: IJavaProject, jetFiles: List<KtFile>) : GenerationState {
25+
val state = GenerationState(
26+
KotlinEnvironment.getEnvironment(javaProject).project,
27+
LightClassBuilderFactory(),
28+
analysisResult.moduleDescriptor,
29+
analysisResult.bindingContext,
30+
jetFiles)
4431

45-
KotlinCodegenFacade.compileCorrectFiles(state, new CompilationErrorHandler() {
46-
@Override
47-
public void reportException(Throwable exception, String fileUrl) {
48-
// skip
49-
}
50-
});
32+
KotlinCodegenFacade.compileCorrectFiles(state) { exception, fileUrl -> Unit }
5133

52-
return state;
34+
return state
5335
}
54-
}
36+
}

kotlin-eclipse-ui/src/org/jetbrains/kotlin/ui/builder/KotlinBuilder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import org.eclipse.debug.core.model.LaunchConfigurationDelegate
2828
import org.eclipse.jdt.core.IJavaProject
2929
import org.eclipse.jdt.core.JavaCore
3030
import org.jetbrains.kotlin.analyzer.AnalysisResult
31-
import org.jetbrains.kotlin.core.asJava.KotlinLightClassGeneration
3231
import org.jetbrains.kotlin.core.builder.KotlinPsiManager
3332
import org.jetbrains.kotlin.core.compiler.KotlinCompiler.KotlinCompilerResult
3433
import org.jetbrains.kotlin.core.compiler.KotlinCompilerUtils
@@ -47,6 +46,7 @@ import org.eclipse.core.runtime.Status
4746
import org.jetbrains.kotlin.progress.ProgressIndicatorAndCompilationCanceledStatus
4847
import org.jetbrains.kotlin.progress.CompilationCanceledStatus
4948
import org.jetbrains.kotlin.progress.CompilationCanceledException
49+
import org.jetbrains.kotlin.core.asJava.KotlinLightClassGeneration
5050

5151
class KotlinBuilder : IncrementalProjectBuilder() {
5252
override fun build(kind: Int, args: Map<String, String>?, monitor: IProgressMonitor?): Array<IProject>? {

0 commit comments

Comments
 (0)