Change parameterized type location to the class file

This commit is contained in:
Tamas Vajk
2022-03-24 10:47:15 +01:00
committed by Ian Lynagh
parent 53f484cd98
commit acb310e46a
2 changed files with 10 additions and 3 deletions

View File

@@ -287,7 +287,14 @@ open class KotlinFileExtractor(
extractClassModifiers(c, id)
extractClassSupertypes(c, id, if (argsIncludingOuterClasses == null) ExtractSupertypesMode.Raw else ExtractSupertypesMode.Specialised(argsIncludingOuterClasses))
val locId = tw.getLocation(c)
val locId = if (argsIncludingOuterClasses != null && argsIncludingOuterClasses.isNotEmpty()) {
val binaryPath = getIrClassBinaryPath(c)
val newTrapWriter = tw.makeFileTrapWriter(binaryPath, true)
newTrapWriter.getWholeFileLocation()
} else {
tw.getLocation(c)
}
tw.writeHasLocation(id, locId)
// Extract the outer <-> inner class relationship, passing on any type arguments in excess to this class' parameters.

View File

@@ -8,9 +8,9 @@ classLocations
| main.B | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| main.B | generics.kt:3:1:11:1 | generics.kt:3:1:11:1 |
| main.B<Integer> | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| main.B<Object> | generics.kt:3:1:11:1 | generics.kt:3:1:11:1 |
| main.B<Object> | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| main.B<String> | file:///!unknown-binary-location/main/B.class:0:0:0:0 | file:///!unknown-binary-location/main/B.class:0:0:0:0 |
| main.B<String> | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 | generics-location.testproj/test.class.files/main/B.class:0:0:0:0 |
| main.B<String> | generics.kt:3:1:11:1 | generics.kt:3:1:11:1 |
callableLocations
| A.fn | A.class:0:0:0:0 | A.class:0:0:0:0 |
| A.fn | A.java:4:17:4:18 | A.java:4:17:4:18 |