[Web] Add core/compiler.common.web module

Add WebCommonStandardClassIds object to use in JS&Wasm shared code
This commit is contained in:
Svyatoslav Kuzmich
2023-11-21 12:31:35 +01:00
committed by Space Team
parent ec995fc847
commit 910835af2d
7 changed files with 59 additions and 0 deletions
+1
View File
@@ -221,6 +221,7 @@
/core/compiler.common.js/ "Kotlin Compiler Core"
/core/compiler.common.native/ "Kotlin Compiler Core"
/core/compiler.common.wasm/ "Kotlin Compiler Core"
/core/compiler.common.web/ "Kotlin Compiler Core"
/core/descriptors/ "Kotlin Compiler Core"
/core/descriptors.jvm/ "Kotlin Compiler Core"
/core/descriptors.runtime/ "Kotlin Libraries"
+2
View File
@@ -152,6 +152,7 @@ val commonCompilerModules = arrayOf(
":core:compiler.common.js",
":core:compiler.common.native",
":core:compiler.common.wasm",
":core:compiler.common.web",
":core:util.runtime",
":compiler:frontend.common.jvm",
":compiler:frontend.java", // TODO this is fe10 module but some utils used in fir ide now
@@ -358,6 +359,7 @@ extra["kotlinJpsPluginEmbeddedDependencies"] = listOf(
":core:compiler.common.js",
":core:compiler.common.native",
":core:compiler.common.wasm",
":core:compiler.common.web",
":core:descriptors",
":core:descriptors.jvm",
":compiler:backend.common.jvm",
+1
View File
@@ -7,6 +7,7 @@ project.configureJvmToolchain(JdkMajorVersion.JDK_1_8)
dependencies {
api(project(":core:compiler.common"))
api(project(":core:compiler.common.web"))
}
sourceSets {
@@ -7,6 +7,7 @@ project.configureJvmToolchain(JdkMajorVersion.JDK_1_8)
dependencies {
api(project(":core:compiler.common"))
api(project(":core:compiler.common.web"))
}
sourceSets {
+15
View File
@@ -0,0 +1,15 @@
plugins {
kotlin("jvm")
id("jps-compatible")
}
project.configureJvmToolchain(JdkMajorVersion.JDK_1_8)
dependencies {
api(project(":core:compiler.common"))
}
sourceSets {
"main" { projectDefault() }
"test" {}
}
@@ -0,0 +1,38 @@
/*
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* 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.name
import org.jetbrains.kotlin.name.StandardClassIds.BASE_KOTLIN_PACKAGE
object WebCommonStandardClassIds {
val BASE_JS_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("js"))
object Annotations {
@JvmField
val JsQualifier = "JsQualifier".jsId()
@JvmField
val JsModule = "JsModule".jsId()
@JvmField
val JsName = "JsName".jsId()
@JvmField
val JsExport = "JsExport".jsId()
}
object Callables {
@JvmField
val JsDefinedExternally = "definedExternally".callableId(BASE_JS_PACKAGE)
@JvmField
val Js = "js".callableId(BASE_JS_PACKAGE)
}
}
private fun String.jsId() = ClassId(WebCommonStandardClassIds.BASE_JS_PACKAGE, Name.identifier(this))
private fun String.callableId(packageName: FqName) = CallableId(packageName, Name.identifier(this))
+1
View File
@@ -115,6 +115,7 @@ include ":benchmarks",
":core:compiler.common.js",
":core:compiler.common.native",
":core:compiler.common.wasm",
":core:compiler.common.web",
":compiler:backend.common.jvm",
":core:descriptors",
":core:descriptors.jvm",