Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e61ff60

Browse files
committed
Kotlin: Add KotlinType to ExtensionMethod
1 parent 6cf0b75 commit e61ff60

3 files changed

Lines changed: 9 additions & 4 deletions

File tree

java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -986,8 +986,8 @@ open class KotlinFileExtractor(
986986

987987
val extReceiver = f.extensionReceiverParameter
988988
if (extReceiver != null) {
989-
val extendedType = useTypeOld(extReceiver.type)
990-
tw.writeKtExtensionFunctions(id, extendedType)
989+
val extendedType = useType(extReceiver.type)
990+
tw.writeKtExtensionFunctions(id, extendedType.javaResult.id, extendedType.kotlinResult.id)
991991
}
992992
}
993993

java/ql/lib/config/semmlecode.dbscheme

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1085,5 +1085,6 @@ ktBreakContinueTargets(
10851085

10861086
ktExtensionFunctions(
10871087
unique int id: @method ref,
1088-
int typeid: @type ref
1088+
int typeid: @type ref,
1089+
int kttypeid: @kt_type ref
10891090
)

java/ql/lib/semmle/code/java/Member.qll

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -689,11 +689,15 @@ class InstanceField extends Field {
689689
/** A Kotlin extension function. */
690690
class ExtensionMethod extends Method {
691691
Type extendedType;
692+
KotlinType extendedKotlinType;
692693

693-
ExtensionMethod() { ktExtensionFunctions(this, extendedType) }
694+
ExtensionMethod() { ktExtensionFunctions(this, extendedType, extendedKotlinType) }
694695

695696
/** Gets the type being extended by this method. */
696697
Type getExtendedType() { result = extendedType }
697698

699+
/** Gets the Kotlin type being extended by this method. */
700+
KotlinType getExtendedKotlinType() { result = extendedKotlinType }
701+
698702
override string getAPrimaryQlClass() { result = "ExtensionMethod" }
699703
}

0 commit comments

Comments
 (0)