Identify data classes during extraction

This commit is contained in:
Tamas Vajk
2022-04-26 09:47:30 +02:00
committed by Chris Smowton
parent 1e78f2893c
commit 25fce5f6bb
5 changed files with 21 additions and 0 deletions

View File

@@ -386,6 +386,10 @@ open class KotlinFileExtractor(
} else if (kind != ClassKind.CLASS && kind != ClassKind.OBJECT) {
logger.warnElement("Unrecognised class kind $kind", c)
}
if (c.isData) {
tw.writeKtDataClasses(classId)
}
}
val locId = tw.getLocation(c)

View File

@@ -1232,3 +1232,7 @@ ktFunctionOriginalNames(
unique int id: @method ref,
string name: string ref
)
ktDataClasses(
unique int id: @class ref
)

View File

@@ -714,6 +714,13 @@ class CompanionObject extends Class {
Field getInstance() { type_companion_object(_, result, this) }
}
/**
* A Kotlin data class declaration.
*/
class DataClass extends Class {
DataClass() { ktDataClasses(this) }
}
/**
* A record declaration.
*/

View File

@@ -0,0 +1 @@
| dc.kt:1:1:1:71 | ProtoMapValue |

View File

@@ -0,0 +1,5 @@
import java
from DataClass c
where c.fromSource()
select c