[Web] Move common ids from WasmStandardClassIds to WebCommonStandardClassIds
This commit is contained in:
committed by
Space Team
parent
910835af2d
commit
c1fa0a3e8c
+2
-2
@@ -13,7 +13,7 @@ import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirReturnExpression
|
import org.jetbrains.kotlin.fir.expressions.FirReturnExpression
|
||||||
import org.jetbrains.kotlin.fir.expressions.impl.FirSingleExpressionBlock
|
import org.jetbrains.kotlin.fir.expressions.impl.FirSingleExpressionBlock
|
||||||
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
||||||
import org.jetbrains.kotlin.name.WasmStandardClassIds
|
import org.jetbrains.kotlin.name.WebCommonStandardClassIds
|
||||||
|
|
||||||
fun FirSimpleFunction.hasValidJsCodeBody(): Boolean =
|
fun FirSimpleFunction.hasValidJsCodeBody(): Boolean =
|
||||||
body?.isValidJsCodeBody() == true
|
body?.isValidJsCodeBody() == true
|
||||||
@@ -44,5 +44,5 @@ private fun FirExpression.isJsCodeCall(): Boolean {
|
|||||||
val symbol = calleeReference.toResolvedCallableSymbol()
|
val symbol = calleeReference.toResolvedCallableSymbol()
|
||||||
?: return false
|
?: return false
|
||||||
|
|
||||||
return symbol.callableId == WasmStandardClassIds.Callables.Js
|
return symbol.callableId == WebCommonStandardClassIds.Callables.Js
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -12,7 +12,7 @@ import org.jetbrains.kotlin.fir.declarations.FirSimpleFunction
|
|||||||
import org.jetbrains.kotlin.fir.declarations.hasAnnotation
|
import org.jetbrains.kotlin.fir.declarations.hasAnnotation
|
||||||
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
import org.jetbrains.kotlin.fir.declarations.utils.visibility
|
||||||
import org.jetbrains.kotlin.fir.resolve.providers.firProvider
|
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 {
|
fun isJsExportedDeclaration(declaration: FirDeclaration, session: FirSession): Boolean {
|
||||||
if (declaration !is FirSimpleFunction)
|
if (declaration !is FirSimpleFunction)
|
||||||
@@ -21,9 +21,9 @@ fun isJsExportedDeclaration(declaration: FirDeclaration, session: FirSession): B
|
|||||||
if (declaration.visibility != Visibilities.Public)
|
if (declaration.visibility != Visibilities.Public)
|
||||||
return false
|
return false
|
||||||
|
|
||||||
if (declaration.hasAnnotation(WasmStandardClassIds.Annotations.JsExport, session))
|
if (declaration.hasAnnotation(WebCommonStandardClassIds.Annotations.JsExport, session))
|
||||||
return true
|
return true
|
||||||
|
|
||||||
val containerFile = session.firProvider.getFirCallableContainerFile(declaration.symbol)
|
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)
|
||||||
}
|
}
|
||||||
+2
-1
@@ -19,6 +19,7 @@ import org.jetbrains.kotlin.fir.declarations.hasAnnotation
|
|||||||
import org.jetbrains.kotlin.fir.declarations.utils.isEffectivelyExternal
|
import org.jetbrains.kotlin.fir.declarations.utils.isEffectivelyExternal
|
||||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
import org.jetbrains.kotlin.fir.expressions.FirAnnotation
|
||||||
import org.jetbrains.kotlin.name.WasmStandardClassIds
|
import org.jetbrains.kotlin.name.WasmStandardClassIds
|
||||||
|
import org.jetbrains.kotlin.name.WebCommonStandardClassIds
|
||||||
|
|
||||||
object FirWasmExportAnnotationChecker : FirBasicDeclarationChecker() {
|
object FirWasmExportAnnotationChecker : FirBasicDeclarationChecker() {
|
||||||
override fun check(declaration: FirDeclaration, context: CheckerContext, reporter: DiagnosticReporter) {
|
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)
|
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)
|
reporter.reportOn(declaration.source, FirWasmErrors.JS_AND_WASM_EXPORTS_ON_SAME_DECLARATION, context)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -15,7 +15,7 @@ import org.jetbrains.kotlin.fir.declarations.*
|
|||||||
import org.jetbrains.kotlin.fir.declarations.utils.*
|
import org.jetbrains.kotlin.fir.declarations.utils.*
|
||||||
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.CallableId
|
||||||
import org.jetbrains.kotlin.name.WasmStandardClassIds
|
import org.jetbrains.kotlin.name.WebCommonStandardClassIds
|
||||||
|
|
||||||
object FirWasmExternalChecker : FirWebCommonExternalChecker() {
|
object FirWasmExternalChecker : FirWebCommonExternalChecker() {
|
||||||
override fun isNativeOrEffectivelyExternal(symbol: FirBasedSymbol<*>, session: FirSession): Boolean {
|
override fun isNativeOrEffectivelyExternal(symbol: FirBasedSymbol<*>, session: FirSession): Boolean {
|
||||||
@@ -47,7 +47,7 @@ object FirWasmExternalChecker : FirWebCommonExternalChecker() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun isDefinedExternallyCallableId(callableId: CallableId): Boolean =
|
override fun isDefinedExternallyCallableId(callableId: CallableId): Boolean =
|
||||||
callableId == WasmStandardClassIds.Callables.JsDefinedExternally
|
callableId == WebCommonStandardClassIds.Callables.JsDefinedExternally
|
||||||
|
|
||||||
override fun hasExternalLikeAnnotations(declaration: FirDeclaration, session: FirSession): Boolean =
|
override fun hasExternalLikeAnnotations(declaration: FirDeclaration, session: FirSession): Boolean =
|
||||||
false
|
false
|
||||||
|
|||||||
+2
-2
@@ -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.FirStatement
|
||||||
import org.jetbrains.kotlin.fir.expressions.calleeReference
|
import org.jetbrains.kotlin.fir.expressions.calleeReference
|
||||||
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
||||||
import org.jetbrains.kotlin.name.WasmStandardClassIds
|
import org.jetbrains.kotlin.name.WebCommonStandardClassIds
|
||||||
|
|
||||||
object FirWasmDefinedExternallyCallChecker : FirBasicExpressionChecker() {
|
object FirWasmDefinedExternallyCallChecker : FirBasicExpressionChecker() {
|
||||||
override fun check(expression: FirStatement, context: CheckerContext, reporter: DiagnosticReporter) {
|
override fun check(expression: FirStatement, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
val symbol = expression.calleeReference?.toResolvedCallableSymbol() ?: return
|
val symbol = expression.calleeReference?.toResolvedCallableSymbol() ?: return
|
||||||
|
|
||||||
if (symbol.callableId != WasmStandardClassIds.Callables.JsDefinedExternally) {
|
if (symbol.callableId != WebCommonStandardClassIds.Callables.JsDefinedExternally) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -18,13 +18,13 @@ import org.jetbrains.kotlin.fir.declarations.utils.isSuspend
|
|||||||
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
import org.jetbrains.kotlin.fir.expressions.FirFunctionCall
|
||||||
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
||||||
import org.jetbrains.kotlin.js.common.isValidES5Identifier
|
import org.jetbrains.kotlin.js.common.isValidES5Identifier
|
||||||
import org.jetbrains.kotlin.name.WasmStandardClassIds
|
import org.jetbrains.kotlin.name.WebCommonStandardClassIds
|
||||||
|
|
||||||
object FirWasmJsCodeCallChecker : FirFunctionCallChecker() {
|
object FirWasmJsCodeCallChecker : FirFunctionCallChecker() {
|
||||||
override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) {
|
override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
val symbol = expression.calleeReference.toResolvedCallableSymbol() ?: return
|
val symbol = expression.calleeReference.toResolvedCallableSymbol() ?: return
|
||||||
|
|
||||||
if (symbol.callableId != WasmStandardClassIds.Callables.Js) {
|
if (symbol.callableId != WebCommonStandardClassIds.Callables.Js) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-4
@@ -21,12 +21,10 @@ import org.jetbrains.kotlin.fir.references.toResolvedCallableSymbol
|
|||||||
import org.jetbrains.kotlin.fir.types.isString
|
import org.jetbrains.kotlin.fir.types.isString
|
||||||
import org.jetbrains.kotlin.fir.types.resolvedType
|
import org.jetbrains.kotlin.fir.types.resolvedType
|
||||||
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
import org.jetbrains.kotlin.fir.visitors.FirVisitorVoid
|
||||||
import org.jetbrains.kotlin.name.CallableId
|
import org.jetbrains.kotlin.name.WebCommonStandardClassIds
|
||||||
import org.jetbrains.kotlin.name.FqName
|
|
||||||
import org.jetbrains.kotlin.name.Name
|
|
||||||
|
|
||||||
object FirJsCodeConstantArgumentChecker : FirFunctionCallChecker() {
|
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) {
|
override fun check(expression: FirFunctionCall, context: CheckerContext, reporter: DiagnosticReporter) {
|
||||||
if (expression.calleeReference.toResolvedCallableSymbol()?.callableId != jsCodeCallableId) {
|
if (expression.calleeReference.toResolvedCallableSymbol()?.callableId != jsCodeCallableId) {
|
||||||
|
|||||||
@@ -8,22 +8,9 @@ package org.jetbrains.kotlin.name
|
|||||||
import org.jetbrains.kotlin.name.StandardClassIds.BASE_KOTLIN_PACKAGE
|
import org.jetbrains.kotlin.name.StandardClassIds.BASE_KOTLIN_PACKAGE
|
||||||
|
|
||||||
object WasmStandardClassIds {
|
object WasmStandardClassIds {
|
||||||
val BASE_JS_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("js"))
|
|
||||||
val BASE_WASM_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("wasm"))
|
val BASE_WASM_PACKAGE = BASE_KOTLIN_PACKAGE.child(Name.identifier("wasm"))
|
||||||
|
|
||||||
object Annotations {
|
object Annotations {
|
||||||
@JvmField
|
|
||||||
val JsQualifier = "JsQualifier".jsId()
|
|
||||||
|
|
||||||
@JvmField
|
|
||||||
val JsModule = "JsModule".jsId()
|
|
||||||
|
|
||||||
@JvmField
|
|
||||||
val JsName = "JsName".jsId()
|
|
||||||
|
|
||||||
@JvmField
|
|
||||||
val JsExport = "JsExport".jsId()
|
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val WasmImport = "WasmImport".wasmId()
|
val WasmImport = "WasmImport".wasmId()
|
||||||
|
|
||||||
@@ -33,20 +20,8 @@ object WasmStandardClassIds {
|
|||||||
@JvmField
|
@JvmField
|
||||||
val JsFun = "JsFun".baseId()
|
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.wasmId() = ClassId(WasmStandardClassIds.BASE_WASM_PACKAGE, Name.identifier(this))
|
|
||||||
|
|
||||||
private fun String.callableId(packageName: FqName) = CallableId(packageName, Name.identifier(this))
|
|
||||||
Reference in New Issue
Block a user