Merge pull request #10091 from tamasvajk/kotlin-data-class

Kotlin: Identify data classes during extraction
This commit is contained in:
Tamás Vajk
2022-08-24 08:45:41 +02:00
committed by GitHub
12 changed files with 7945 additions and 2971 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: Remove ktDataClasses relation
compatibility: backwards
ktDataClasses.rel: delete

View File

@@ -435,6 +435,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

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

File diff suppressed because it is too large Load Diff

View File

@@ -726,6 +726,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.
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
description: Add ktDataClasses relation
compatibility: backwards

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