AliasedC -> C open class B : AliasedC interface C typealias AliasedC = C RAW_FIR IMPORTS COMPILER_REQUIRED_ANNOTATIONS COMPANION_GENRATION SUPER_TYPES SEALED_CLASS_INHERITORS TYPES STATUS EXPECT_ACTUAL_MATCHING CONTRACTS IMPLICIT_TYPES_BODY_RESOLVE CONSTANT_EVALUATION BODY_RESOLVE ANNOTATION_ARGUMENTS
// Int val bar = "str" // String val baz get() = foo() / / Int RAW_FIR IMPORTS COMPILER_REQUIRED_ANNOTATIONS COMPANION_GENRATION SUPER_TYPES SEALED_CLASS_INHERITORS TYPES STATUS EXPECT_ACTUAL_MATCHING CONTRACTS IMPLICIT_TYPES_BODY_RESOLVE CONSTANT_EVALUATION BODY_RESOLVE ANNOTATION_ARGUMENTS const val a = 0 + 10
EXPECT_ACTUAL_MATCHING CONTRACTS IMPLICIT_TYPES_BODY_RESOLVE CONSTANT_EVALUATION BODY_RESOLVE ANNOTATION_ARGUMENTS class A class A { companion object { ... } fun hoge() }
ΞϊςʔγϣϯΛϕʔεʹॲཧରΛಛఆ • Ϣʔβʔ͕FIRίϯύΠϥʹࢦࣔΛग़͢།Ұͷʢਖ਼ࣜͳʣํ๏ 44 abstract class FirExtension(val session: FirSession) { open fun FirDeclarationPredicateRegistrar.registerPredicates() {} }
Kotlin Compiler Plugin by Kevin Most • Crash Course on the Kotlin Compiler by Amanda Hinchman-Dominguez • K2 Compiler plugins by Mikhail Glukhikh • K2ͷಓɻίϯύΠϥΛ࡞Γͬͯ͢Ͳ͏͍͏͜ͱʁ / Kotlin Fest 2022 • KotlinެࣜϦϙδτϦ • https://github.com/JetBrains/kotlin/blob/master/docs/ fi r/ fi r-basics.md • https://github.com/JetBrains/kotlin/blob/master/docs/ fi r/ fi r-plugins.md 144