mirror of
https://github.com/github/codeql.git
synced 2025-12-18 09:43:15 +01:00
Extract the corresponding classes of enum entries, where they exist.
This commit is contained in:
@@ -155,7 +155,7 @@ open class KotlinFileExtractor(
|
||||
is IrEnumEntry -> {
|
||||
val parentId = useDeclarationParent(declaration.parent, false)?.cast<DbReftype>()
|
||||
if (parentId != null) {
|
||||
extractEnumEntry(declaration, parentId, extractFunctionBodies)
|
||||
extractEnumEntry(declaration, parentId, extractPrivateMembers, extractFunctionBodies)
|
||||
}
|
||||
Unit
|
||||
}
|
||||
@@ -1254,7 +1254,7 @@ open class KotlinFileExtractor(
|
||||
}
|
||||
}
|
||||
|
||||
private fun extractEnumEntry(ee: IrEnumEntry, parentId: Label<out DbReftype>, extractTypeAccess: Boolean) {
|
||||
private fun extractEnumEntry(ee: IrEnumEntry, parentId: Label<out DbReftype>, extractPrivateMembers: Boolean, extractFunctionBodies: Boolean) {
|
||||
with("enum entry", ee) {
|
||||
DeclarationStackAdjuster(ee).use {
|
||||
val id = useEnumEntry(ee)
|
||||
@@ -1265,7 +1265,7 @@ open class KotlinFileExtractor(
|
||||
tw.writeHasLocation(id, locId)
|
||||
tw.writeIsEnumConst(id)
|
||||
|
||||
if (extractTypeAccess) {
|
||||
if (extractFunctionBodies) {
|
||||
val fieldDeclarationId = tw.getFreshIdLabel<DbFielddecl>()
|
||||
tw.writeFielddecls(fieldDeclarationId, parentId)
|
||||
tw.writeFieldDeclaredIn(id, fieldDeclarationId, 0)
|
||||
@@ -1273,6 +1273,10 @@ open class KotlinFileExtractor(
|
||||
|
||||
extractTypeAccess(type, locId, fieldDeclarationId, 0)
|
||||
}
|
||||
|
||||
ee.correspondingClass?.let {
|
||||
extractDeclaration(it, extractPrivateMembers, extractFunctionBodies)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user