From c1fa0a3e8ca6079ae0bd7bb4ef0bb03bd6014567 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Tue, 21 Nov 2023 12:33:31 +0100 Subject: [PATCH] [Web] Move common ids from WasmStandardClassIds to WebCommonStandardClassIds --- .../wasm/checkers/FirWasmJsCodeHelpers.kt | 4 +-- .../wasm/checkers/FirWasmJsExportHelpers.kt | 6 ++-- .../FirWasmExportAnnotationChecker.kt | 3 +- .../declaration/FirWasmExternalChecker.kt | 4 +-- .../FirWasmDefinedExternallyCallChecker.kt | 4 +-- .../expression/FirWasmJsCodeCallChecker.kt | 4 +-- .../FirJsCodeConstantArgumentChecker.kt | 6 ++-- .../kotlin/name/WasmStandardClassIds.kt | 29 ++----------------- 8 files changed, 17 insertions(+), 43 deletions(-) diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsCodeHelpers.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsCodeHelpers.kt index adc168fd0a5..251b3dd2254 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsCodeHelpers.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsCodeHelpers.kt @@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.expressions.FirReturnExpression import org.jetbrains.kotlin.fir.expressions.impl.FirSingleExpressionBlock import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol -import org.jetbrains.kotlin.name.WasmStandardClassIds +import org.jetbrains.kotlin.name.WebCommonStandardClassIds fun FirSimpleFunction.hasValidJsCodeBody(): Boolean = body?.isValidJsCodeBody() == true @@ -44,5 +44,5 @@ private fun FirExpression.isJsCodeCall(): Boolean { val symbol = calleeReference.toResolvedCallableSymbol() ?: return false - return symbol.callableId == WasmStandardClassIds.Callables.Js + return symbol.callableId == WebCommonStandardClassIds.Callables.Js } diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsExportHelpers.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsExportHelpers.kt index 6700fcdc23c..10ecd886133 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsExportHelpers.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/FirWasmJsExportHelpers.kt @@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.visibility import org.jetbrains.kotlin.fir.resolve.providers.firProvider -import org.jetbrains.kotlin.name.WasmStandardClassIds +import org.jetbrains.kotlin.name.WebCommonStandardClassIds fun isJsExportedDeclaration(declaration: FirDeclaration, session: FirSession): Boolean { if (declaration !is FirSimpleFunction) @@ -21,9 +21,9 @@ fun isJsExportedDeclaration(declaration: FirDeclaration, session: FirSession): B if (declaration.visibility != Visibilities.Public) return false - if (declaration.hasAnnotation(WasmStandardClassIds.Annotations.JsExport, session)) + if (declaration.hasAnnotation(WebCommonStandardClassIds.Annotations.JsExport, session)) return true val containerFile = session.firProvider.getFirCallableContainerFile(declaration.symbol) - return containerFile != null && containerFile.hasAnnotation(WasmStandardClassIds.Annotations.JsExport, session) + return containerFile != null && containerFile.hasAnnotation(WebCommonStandardClassIds.Annotations.JsExport, session) } \ No newline at end of file diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExportAnnotationChecker.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExportAnnotationChecker.kt index 8a95be0b61f..5e1f67c7eff 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExportAnnotationChecker.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExportAnnotationChecker.kt @@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.isEffectivelyExternal import org.jetbrains.kotlin.fir.expressions.FirAnnotation import org.jetbrains.kotlin.name.WasmStandardClassIds +import org.jetbrains.kotlin.name.WebCommonStandardClassIds object FirWasmExportAnnotationChecker : FirBasicDeclarationChecker() { override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) { @@ -29,7 +30,7 @@ object FirWasmExportAnnotationChecker : FirBasicDeclarationChecker() { reporter.reportOn(annotation.source, FirWasmErrors.NESTED_WASM_EXPORT, context) } - if (declaration.annotations.hasAnnotation(WasmStandardClassIds.Annotations.JsExport, context.session)) { + if (declaration.annotations.hasAnnotation(WebCommonStandardClassIds.Annotations.JsExport, context.session)) { reporter.reportOn(declaration.source, FirWasmErrors.JS_AND_WASM_EXPORTS_ON_SAME_DECLARATION, context) } diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalChecker.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalChecker.kt index 2aff68e1b6b..74f3eb38066 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalChecker.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/declaration/FirWasmExternalChecker.kt @@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.* import org.jetbrains.kotlin.fir.declarations.utils.* import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.WasmStandardClassIds +import org.jetbrains.kotlin.name.WebCommonStandardClassIds object FirWasmExternalChecker : FirWebCommonExternalChecker() { override fun isNativeOrEffectivelyExternal(symbol: FirBasedSymbol<*>, session: FirSession): Boolean { @@ -47,7 +47,7 @@ object FirWasmExternalChecker : FirWebCommonExternalChecker() { } override fun isDefinedExternallyCallableId(callableId: CallableId): Boolean = - callableId == WasmStandardClassIds.Callables.JsDefinedExternally + callableId == WebCommonStandardClassIds.Callables.JsDefinedExternally override fun hasExternalLikeAnnotations(declaration: FirDeclaration, session: FirSession): Boolean = false diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmDefinedExternallyCallChecker.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmDefinedExternallyCallChecker.kt index aa59bbb52d8..bef6864ceb4 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmDefinedExternallyCallChecker.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmDefinedExternallyCallChecker.kt @@ -15,13 +15,13 @@ import org.jetbrains.kotlin.fir.declarations.utils.isEffectivelyExternal import org.jetbrains.kotlin.fir.expressions.FirStatement import org.jetbrains.kotlin.fir.expressions.calleeReference import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol -import org.jetbrains.kotlin.name.WasmStandardClassIds +import org.jetbrains.kotlin.name.WebCommonStandardClassIds object FirWasmDefinedExternallyCallChecker : FirBasicExpressionChecker() { override fun check(expression: FirStatement, context: CheckerContext, reporter: DiagnosticReporter) { val symbol = expression.calleeReference?.toResolvedCallableSymbol() ?: return - if (symbol.callableId != WasmStandardClassIds.Callables.JsDefinedExternally) { + if (symbol.callableId != WebCommonStandardClassIds.Callables.JsDefinedExternally) { return } diff --git a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmJsCodeCallChecker.kt b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmJsCodeCallChecker.kt index e60791ee4e9..90af08c29db 100644 --- a/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmJsCodeCallChecker.kt +++ b/compiler/fir/checkers/checkers.wasm/src/org/jetbrains/kotlin/fir/analysis/wasm/checkers/expression/FirWasmJsCodeCallChecker.kt @@ -18,13 +18,13 @@ import org.jetbrains.kotlin.fir.declarations.utils.isSuspend import org.jetbrains.kotlin.fir.expressions.FirFunctionCall import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol import org.jetbrains.kotlin.js.common.isValidES5Identifier -import org.jetbrains.kotlin.name.WasmStandardClassIds +import org.jetbrains.kotlin.name.WebCommonStandardClassIds object FirWasmJsCodeCallChecker : FirFunctionCallChecker() { override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) { val symbol = expression.calleeReference.toResolvedCallableSymbol() ?: return - if (symbol.callableId != WasmStandardClassIds.Callables.Js) { + if (symbol.callableId != WebCommonStandardClassIds.Callables.Js) { return } diff --git a/compiler/fir/checkers/checkers.web.common/src/org/jetbrains/kotlin/fir/analysis/web/common/checkers/expression/FirJsCodeConstantArgumentChecker.kt b/compiler/fir/checkers/checkers.web.common/src/org/jetbrains/kotlin/fir/analysis/web/common/checkers/expression/FirJsCodeConstantArgumentChecker.kt index 24b341083f1..d7e6bf69543 100644 --- a/compiler/fir/checkers/checkers.web.common/src/org/jetbrains/kotlin/fir/analysis/web/common/checkers/expression/FirJsCodeConstantArgumentChecker.kt +++ b/compiler/fir/checkers/checkers.web.common/src/org/jetbrains/kotlin/fir/analysis/web/common/checkers/expression/FirJsCodeConstantArgumentChecker.kt @@ -21,12 +21,10 @@ import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol import org.jetbrains.kotlin.fir.types.isString import org.jetbrains.kotlin.fir.types.resolvedType import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid -import org.jetbrains.kotlin.name.CallableId -import org.jetbrains.kotlin.name.FqName -import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.WebCommonStandardClassIds object FirJsCodeConstantArgumentChecker : FirFunctionCallChecker() { - private val jsCodeCallableId = CallableId(FqName("kotlin.js"), Name.identifier("js")) + private val jsCodeCallableId = WebCommonStandardClassIds.Callables.Js override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) { if (expression.calleeReference.toResolvedCallableSymbol()?.callableId != jsCodeCallableId) { diff --git a/core/compiler.common.wasm/src/org/jetbrains/kotlin/name/WasmStandardClassIds.kt b/core/compiler.common.wasm/src/org/jetbrains/kotlin/name/WasmStandardClassIds.kt index 5af6ba489c0..0b3f561efd3 100644 --- a/core/compiler.common.wasm/src/org/jetbrains/kotlin/name/WasmStandardClassIds.kt +++ b/core/compiler.common.wasm/src/org/jetbrains/kotlin/name/WasmStandardClassIds.kt @@ -8,22 +8,9 @@ package org.jetbrains.kotlin.name import org.jetbrains.kotlin.name.StandardClassIds.BASE_KOTLIN_PACKAGE object WasmStandardClassIds { - val BASE_JS_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("js")) val BASE_WASM_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("wasm")) object Annotations { - @JvmField - val JsQualifier = "JsQualifier".jsId() - - @JvmField - val JsModule = "JsModule".jsId() - - @JvmField - val JsName = "JsName".jsId() - - @JvmField - val JsExport = "JsExport".jsId() - @JvmField val WasmImport = "WasmImport".wasmId() @@ -33,20 +20,8 @@ object WasmStandardClassIds { @JvmField val JsFun = "JsFun".baseId() } - - object Callables { - @JvmField - val JsDefinedExternally = "definedExternally".callableId(BASE_JS_PACKAGE) - - @JvmField - val Js = "js".callableId(BASE_JS_PACKAGE) - } } -private fun String.baseId() = ClassId(StandardClassIds.BASE_KOTLIN_PACKAGE, Name.identifier(this)) +private fun String.baseId() = ClassId(BASE_KOTLIN_PACKAGE, Name.identifier(this)) -private fun String.jsId() = ClassId(WasmStandardClassIds.BASE_JS_PACKAGE, Name.identifier(this)) - -private fun String.wasmId() = ClassId(WasmStandardClassIds.BASE_WASM_PACKAGE, Name.identifier(this)) - -private fun String.callableId(packageName: FqName) = CallableId(packageName, Name.identifier(this)) +private fun String.wasmId() = ClassId(WasmStandardClassIds.BASE_WASM_PACKAGE, Name.identifier(this)) \ No newline at end of file