From 0f02622e328483c48ba7a9b71eae5687538bb787 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Tue, 13 Mar 2018 20:09:49 +0300 Subject: [PATCH] Create modules for Frontend IR & its builder from PSI --- compiler/fir/psi2fir/build.gradle.kts | 24 +++++++++++++++++++ .../kotlin/fir/builder/RawFirBuilder.kt | 9 +++++++ compiler/fir/tree/build.gradle.kts | 22 +++++++++++++++++ .../org/jetbrains/kotlin/fir/FirElement.kt | 8 +++++++ settings.gradle | 2 ++ 5 files changed, 65 insertions(+) create mode 100644 compiler/fir/psi2fir/build.gradle.kts create mode 100644 compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt create mode 100644 compiler/fir/tree/build.gradle.kts create mode 100644 compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirElement.kt diff --git a/compiler/fir/psi2fir/build.gradle.kts b/compiler/fir/psi2fir/build.gradle.kts new file mode 100644 index 00000000000..f4382c8d9d9 --- /dev/null +++ b/compiler/fir/psi2fir/build.gradle.kts @@ -0,0 +1,24 @@ +/* + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +plugins { + kotlin("jvm") + id("jps-compatible") +} + +jvmTarget = "1.6" + +dependencies { + compile(project(":compiler:psi")) + compile(project(":core:descriptors")) + compile(project(":compiler:fir:tree")) + + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "annotations") } +} + +sourceSets { + "main" { projectDefault() } + "test" {} +} \ No newline at end of file diff --git a/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt new file mode 100644 index 00000000000..e98ef7e5401 --- /dev/null +++ b/compiler/fir/psi2fir/src/org/jetbrains/kotlin/fir/builder/RawFirBuilder.kt @@ -0,0 +1,9 @@ +/* + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir.builder + +class RawFirBuilder { +} \ No newline at end of file diff --git a/compiler/fir/tree/build.gradle.kts b/compiler/fir/tree/build.gradle.kts new file mode 100644 index 00000000000..ae5e29aac9c --- /dev/null +++ b/compiler/fir/tree/build.gradle.kts @@ -0,0 +1,22 @@ +/* + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +plugins { + kotlin("jvm") + id("jps-compatible") +} + +jvmTarget = "1.6" + +dependencies { + compile(project(":core:descriptors")) + // Necessary only to store bound PsiElement inside FirElement + compileOnly(intellijCoreDep()) { includeJars("intellij-core", "annotations") } +} + +sourceSets { + "main" { projectDefault() } + "test" {} +} \ No newline at end of file diff --git a/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirElement.kt b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirElement.kt new file mode 100644 index 00000000000..b3cf9b09fda --- /dev/null +++ b/compiler/fir/tree/src/org/jetbrains/kotlin/fir/FirElement.kt @@ -0,0 +1,8 @@ +/* + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.fir + +interface FirElement \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 6ccad2dc54e..1300639d505 100644 --- a/settings.gradle +++ b/settings.gradle @@ -28,6 +28,8 @@ include ":kotlin-build-common", ":compiler:resolution", ":compiler:serialization", ":compiler:psi", + ":compiler:fir:tree", + ":compiler:fir:psi2fir", ":compiler:frontend", ":compiler:frontend.java", ":compiler:frontend.script",