Chris Smowton
f177c2c5ae
Function trap ids: remove spaces between value parameters
...
Otherwise these won't match the IDs used by the Java extractor.
2022-05-10 19:51:12 +01:00
Chris Smowton
f38f03e6c9
Value parameters: provide correct source declaration
2022-05-10 19:51:12 +01:00
Chris Smowton
cd07cc448e
Class trap labels: include outer type parameters
2022-05-10 19:51:12 +01:00
Chris Smowton
94efb427fe
Type parameters: record index Java-style
...
Previously they received indices offset by the number of surrounding class type parameters.
2022-05-10 19:51:12 +01:00
Chris Smowton
178f128bdc
Function labels: include <n> suffix (where n is the number of function type parameters)
...
This matches the Java extractor's behaviour.
2022-05-10 19:51:12 +01:00
Ian Lynagh
448b3d38d3
Kotlin: Duplicate less TRAP
2022-05-10 19:51:12 +01:00
Ian Lynagh
194e9fd2da
Kotlin: Handle file classes better
2022-05-10 19:51:12 +01:00
Ian Lynagh
4340fe7044
Kotlin: Comments: Small refactoring
2022-05-10 19:51:12 +01:00
Tamas Vajk
b599ff2792
Change variable location extraction
2022-05-10 19:51:12 +01:00
Chris Smowton
33a9b4fb16
Add explanatory comment
2022-05-10 19:51:12 +01:00
Chris Smowton
ab449e0517
Fix: use void as constructor return types in their labels
...
Without this we're incompatible with the Java extractor's constructor labelling
2022-05-10 19:51:12 +01:00
Chris Smowton
5188998bc6
Extract outer <-> inner class relationships for generic instances
2022-05-10 19:51:12 +01:00
Chris Smowton
67e3374a23
Fix inner generic type extraction
...
- Don't attribute type parameters that belong to the outer class to the inner
- Don't extract constructor generic parameters as if they were parameters of the type being instantiated
2022-05-10 19:51:12 +01:00
Tamas Vajk
afd71a00d0
Fix extraction of function references without dispatch receiver
2022-05-10 19:51:12 +01:00
Tamas Vajk
ef2795c88b
Add ktLocalFunction relation and tests for local and anonymous classes
2022-05-10 19:51:11 +01:00
Tamas Vajk
e0bf7d8246
Extract local class declarations
2022-05-10 19:51:11 +01:00
Tamas Vajk
1e64887903
Extract field receiver in field read/write
2022-05-10 19:51:11 +01:00
Tamas Vajk
10ae157682
Extract function references
2022-05-10 19:51:11 +01:00
Tamas Vajk
6950f868fb
Fix type access extraction in field declarations
2022-05-10 19:51:11 +01:00
Tamas Vajk
73cd497427
Add todo comment to move property from parameter initialization to constructor
2022-05-10 19:51:11 +01:00
Chris Smowton
2730d07b4c
Extract static method qualifier type accesses
2022-05-10 19:51:11 +01:00
Chris Smowton
ef9a213ae1
Cleanup: use extractTypeAccess wherever possible
2022-05-10 19:51:11 +01:00
Tamas Vajk
30ff5e2517
Change unknown location to whole file location in source extraction
2022-05-10 19:51:11 +01:00
Tamas Vajk
9d7794185e
Fix temporary variable locations
2022-05-10 19:51:11 +01:00
Tamas Vajk
67d2c52e86
Extract field declarations
2022-05-10 19:51:11 +01:00
Tamas Vajk
5bc28ab45a
Extract externally defined inner classes only once
2022-05-10 19:51:11 +01:00
Chris Smowton
acad36cab4
Implement raw type extraction
2022-05-10 19:51:11 +01:00
Tamas Vajk
6455c988f2
Extract class references
2022-05-10 19:51:11 +01:00
Ian Lynagh
fb90c70e2e
Kotlin: Extract visibility for properties
2022-05-10 19:51:11 +01:00
Ian Lynagh
348ae357ed
Kotlin: Extract method visibility
2022-05-10 19:51:11 +01:00
Ian Lynagh
6616f452d7
Kotlin: Move extractClassModifiers to KotlinFileExtractor
...
It doesn't need to be in KotlinUsesExtractor any more, and this gives us
better warnings.
2022-05-10 19:51:11 +01:00
Ian Lynagh
5342b13cb6
Kotlin: Add class modifiers
2022-05-10 19:51:11 +01:00
Chris Smowton
70708d69bf
Don't extract or call fake-override methods
2022-05-10 19:51:10 +01:00
Chris Smowton
0c7075c749
Give getters and setters their jvm-lowered names
2022-05-10 19:51:10 +01:00
Chris Smowton
26abb4d0e3
Correctly record methods' and constructors' source-declarations
2022-05-10 19:51:10 +01:00
Chris Smowton
2677115385
Switch comment to use Kotlin syntax
2022-05-10 19:51:10 +01:00
Chris Smowton
44c64f0784
Always extract constructor return type as unit
2022-05-10 19:51:10 +01:00
Chris Smowton
fa9971c6f3
Uniformly use getFunctionShortName
2022-05-10 19:51:10 +01:00
Chris Smowton
c5e85620e7
Rework conditional generic extraction to use global state
2022-05-10 19:51:10 +01:00
Chris Smowton
d57ac71cd0
Anonymous objects: always extract as source classes
2022-05-10 19:51:10 +01:00
Chris Smowton
b601cdeb8f
Extract generic constructor calls
2022-05-10 19:51:10 +01:00
Chris Smowton
d4519eb1bc
Downgrade assert to warning
2022-05-10 19:51:10 +01:00
Chris Smowton
bb3049a686
Extract generic method prototypes
...
These feature substituted types according to their declaring generic specialisation, with wildcards that reach top-level being converted to their upper or lower bound depending on usage context.
This commit also includes an incidental fix such that constructors declare their return-type as unit, consistent with the Java extractor.
2022-05-10 19:51:10 +01:00
Tamas Vajk
fa5c3f9159
Remove and replace @anonymousclassdeclstmt with @localtypedeclstmt
2022-05-10 19:51:10 +01:00
Tamas Vajk
e325925f5a
Extract field declaration directly inside class
2022-05-10 19:51:10 +01:00
Tamas Vajk
929c50f0b3
Adjust build script based on review
2022-05-10 19:51:10 +01:00
Tamas Vajk
7b58d01eff
Specify lambda method for big arity lambdas
2022-05-10 19:51:10 +01:00
Tamas Vajk
dec165c5b2
Remove Lambda class as supertype
2022-05-10 19:51:09 +01:00
Tamas Vajk
3cd2583ec8
Handle large arity lambdas, and add missing type access for some constructor calls (needed for anonymous classes)
2022-05-10 19:51:09 +01:00
Tamas Vajk
f4c87cb79d
Extract function expressions
2022-05-10 19:51:09 +01:00