[Web] Move common ids from WasmStandardClassIds to WebCommonStandardClassIds

This commit is contained in:
Svyatoslav Kuzmich
2023-11-21 12:33:31 +01:00
committed by Space Team
parent 910835af2d
commit c1fa0a3e8c
8 changed files with 17 additions and 43 deletions
@@ -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
}
@@ -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)
}
@@ -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)
}
@@ -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
@@ -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
}
@@ -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
}
@@ -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) {
@@ -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))