@@ -131,17 +131,16 @@ open class KotlinFileExtractor(
131
131
return id
132
132
}
133
133
134
- private fun extractAnonymousClassStmt (c : IrClass , callable : Label <out DbCallable >, parent : Label <out DbStmtparent >, idx : Int ) {
134
+ private fun extracLocalTypeDeclStmt (c : IrClass , callable : Label <out DbCallable >, parent : Label <out DbStmtparent >, idx : Int ) {
135
135
@Suppress(" UNCHECKED_CAST" )
136
136
val id = extractClassSource(c) as Label <out DbClass >
137
- extractAnonymousClassStmt (id, c, callable, parent, idx)
137
+ extracLocalTypeDeclStmt (id, c, callable, parent, idx)
138
138
}
139
139
140
- private fun extractAnonymousClassStmt (id : Label <out DbClass >, locElement : IrElement , callable : Label <out DbCallable >, parent : Label <out DbStmtparent >, idx : Int ) {
141
- // TODO: is this the same as @localtypedeclstmt
142
- val stmtId = tw.getFreshIdLabel<DbAnonymousclassdeclstmt >()
143
- tw.writeStmts_anonymousclassdeclstmt(stmtId, parent, idx, callable)
144
- tw.writeKtAnonymousClassDeclarationStmts(stmtId, id)
140
+ private fun extracLocalTypeDeclStmt (id : Label <out DbClass >, locElement : IrElement , callable : Label <out DbCallable >, parent : Label <out DbStmtparent >, idx : Int ) {
141
+ val stmtId = tw.getFreshIdLabel<DbLocaltypedeclstmt >()
142
+ tw.writeStmts_localtypedeclstmt(stmtId, parent, idx, callable)
143
+ tw.writeIsLocalClassOrInterface(id, stmtId)
145
144
val locId = tw.getLocation(locElement)
146
145
tw.writeHasLocation(stmtId, locId)
147
146
}
@@ -533,15 +532,15 @@ open class KotlinFileExtractor(
533
532
}
534
533
is IrClass -> {
535
534
if (s.isAnonymousObject) {
536
- extractAnonymousClassStmt (s, callable, parent, idx)
535
+ extracLocalTypeDeclStmt (s, callable, parent, idx)
537
536
} else {
538
537
logger.warnElement(Severity .ErrorSevere , " Found non anonymous IrClass as IrStatement: " + s.javaClass, s)
539
538
}
540
539
}
541
540
is IrFunction -> {
542
541
if (s.isLocalFunction()) {
543
542
val classId = extractGeneratedClass(s, listOf (pluginContext.irBuiltIns.anyType))
544
- extractAnonymousClassStmt (classId, s, callable, parent, idx)
543
+ extracLocalTypeDeclStmt (classId, s, callable, parent, idx)
545
544
} else {
546
545
logger.warnElement(Severity .ErrorSevere , " Expected to find local function" , s)
547
546
}
0 commit comments