@@ -4,10 +4,12 @@ import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension
44import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext
55import org.jetbrains.kotlin.ir.declarations.*
66import org.jetbrains.kotlin.ir.util.*
7+ import org.jetbrains.kotlin.ir.IrElement
78import java.io.File
89import java.io.FileOutputStream
910import java.nio.file.Files
1011import java.nio.file.Paths
12+ import java.util.Stack
1113import com.semmle.util.files.FileUtil
1214import kotlin.system.exitProcess
1315
@@ -116,6 +118,8 @@ class KotlinExtractorExtension(
116118 }
117119}
118120
121+ data class ExtractorContext (val kind : String , val element : IrElement )
122+
119123class KotlinExtractorGlobalState {
120124 val genericSpecialisationsExtracted = HashSet <String >()
121125 // These three record mappings of classes, functions and fields that should be replaced wherever they are found.
@@ -125,6 +129,7 @@ class KotlinExtractorGlobalState {
125129 val syntheticToRealClassMap = HashMap <IrClass , IrClass ?>()
126130 val syntheticToRealFunctionMap = HashMap <IrSimpleFunction , IrSimpleFunction ?>()
127131 val syntheticToRealFieldMap = HashMap <IrField , IrField ?>()
132+ val context = Stack <ExtractorContext >()
128133}
129134
130135/*
0 commit comments