Ian Lynagh
cbd265ab7a
Kotlin: Add support for try statements
2022-05-10 19:50:59 +01:00
Ian Lynagh
6b5663df46
Kotlin: Handle Short and Byte literals
...
I don't think we need separate DB types for them
2022-05-10 19:50:59 +01:00
Ian Lynagh
ba335b0c69
Kotlin: Add StmtExpr
...
In some contexts, Kotlin has what we would call a Stmt inside what we
would call an Expr. This allows us to handle this case.
2022-05-10 19:50:59 +01:00
Ian Lynagh
9a886260cd
Kotlin: Add support for IMPLICIT_COERCION_TO_UNIT
2022-05-10 19:50:59 +01:00
Ian Lynagh
46e55f5990
Kotlin: Add support for IMPLICIT_NOTNULL
2022-05-10 19:50:59 +01:00
Ian Lynagh
a6c504abe3
Kotlin: Add support for implicit casts
2022-05-10 19:50:59 +01:00
Ian Lynagh
ba7a7535e9
Kotlin: Add support for more type operators
2022-05-10 19:50:58 +01:00
Ian Lynagh
f95934a0c5
Kotlin: Use trace (silently for now) rather than info for writing TRAP files
...
The on-demand "Writing trap file for: " messages are drowning out
everything else while running the tests.
2022-05-10 19:50:58 +01:00
Ian Lynagh
d6692e434a
Kotlin: Add support for "is" ("instanceof")
2022-05-10 19:50:58 +01:00
Chris Smowton
4dda475a8d
Fix source location column numbers
2022-05-10 19:50:58 +01:00
Chris Smowton
e65f451af6
erase: retain question-mark qualifier if present
2022-05-10 19:50:58 +01:00
Chris Smowton
48d5561c95
Use getClassLabel for Kotlin <-> Java type correspondences
...
Without this, the table can be non-functional due to mapping one unqualified Kotlin type onto several qualified Java types
2022-05-10 19:50:58 +01:00
Chris Smowton
e5e694f7d3
Adjust Kotlin type correspondence tables when extracting a substituted type
2022-05-10 19:50:58 +01:00
Chris Smowton
12ce2d5829
Substitute Kotlin classes for Java equivalents
2022-05-10 19:50:58 +01:00
Chris Smowton
6de5a36cdc
Write Java class files in gzip format
...
This means our names match those expected by javac
2022-05-10 19:50:58 +01:00
Chris Smowton
4a18705d73
Write .set file for source file
2022-05-10 19:50:58 +01:00
Chris Smowton
b299779750
Create Files table entries for JAR/JRT files
2022-05-10 19:50:58 +01:00
Chris Smowton
4c3b9e658b
Fix trap file output paths
...
These should be named for the class name, not its fs location
2022-05-10 19:50:57 +01:00
Chris Smowton
debb942c0e
Implement mtime and class version extraction
2022-05-10 19:50:57 +01:00
Chris Smowton
2cc003ff0e
External class extraction prototype
2022-05-10 19:50:57 +01:00
Ian Lynagh
286e29cd81
Kotlin: Add exprstmt's where appropriate
2022-05-10 18:46:02 +01:00
Ian Lynagh
8704536f35
Kotlin: local variable indexes start from 1
2022-05-10 18:46:02 +01:00
Ian Lynagh
8df5abaef9
Kotlin: Add localvariabledeclstmt
2022-05-10 18:46:02 +01:00
Ian Lynagh
1d1b9fe805
Kotlin: Add support for more kind of literal
...
And a test
2022-05-10 18:46:02 +01:00
Ian Lynagh
14a10564f3
Kotlin: Fix File locations, and fromSource/hasSourceLocation for Kotlin code
2022-05-10 18:46:01 +01:00
Ian Lynagh
b9359bd119
Kotlin: Add a test case to be added
...
Found by Tamás
2022-05-10 18:46:01 +01:00
Ian Lynagh
cd41d5b9cf
Kotlin: Add KotlinType to exprs
2022-05-10 18:46:01 +01:00
Ian Lynagh
63e96dffea
Kotlin: Add a testcase as a comment for now, so we don't lose it
2022-05-10 18:46:01 +01:00
Ian Lynagh
1bce9a131a
Kotlin: Towards KotlinType support
2022-05-10 18:46:01 +01:00
Ian Lynagh
ca96d55476
Typo
2022-05-10 18:46:01 +01:00
Ian Lynagh
636e15f422
Kotlin: Split extractClass into extractClassSource, extractClassInstance
2022-05-10 18:46:01 +01:00
Ian Lynagh
9eadbea5cd
Kotlin: Split useClass into useClassSource and useClassInstance
2022-05-10 18:46:01 +01:00
Ian Lynagh
490e803098
Kotlin: Be more specific about function parents
2022-05-10 18:46:01 +01:00
Tamas Vajk
6f3ae8da47
Improve todo comment
2022-05-10 18:46:01 +01:00
Tamas Vajk
ec889f933f
Remove unneeded extraction warning
2022-05-10 18:46:01 +01:00
Tamas Vajk
1a6d693618
Implement review findings + fix ID of nested types
2022-05-10 18:46:00 +01:00
Tamas Vajk
85e713fa31
Extract generic type parameters as reference types even for primitive Kotlin types + add simplified array extraction
2022-05-10 18:46:00 +01:00
Tamas Vajk
b542769fe9
Fix constructor extraction and extract type arguments of constructor calls
2022-05-10 18:46:00 +01:00
Tamas Vajk
936c29b70c
Handle star type argument
2022-05-10 18:46:00 +01:00
Tamas Vajk
8dff527a0e
WIP: type arg extraction
2022-05-10 18:46:00 +01:00
Tamas Vajk
0c6e20928c
Kotlin: extract type parameters
2022-05-10 18:46:00 +01:00
Tamas Vajk
db5afe84b4
Code quality improvement (fix warning)
2022-05-10 18:46:00 +01:00
Ian Lynagh
088e7adf8c
Kotlin: Handle zero-width locations for generated elements
2022-05-10 18:46:00 +01:00
Tamas Vajk
76fd386055
Extract content of <obinit> methods
2022-05-10 18:46:00 +01:00
Tamas Vajk
b87c8e2529
Extract generated <obinit> method, and calls to it
2022-05-10 18:46:00 +01:00
Tamas Vajk
e31c573fb5
Remove redundant cast
2022-05-10 18:46:00 +01:00
Tamas Vajk
f18ab2e913
Reduce parameter passing, and compute label for enclosing callable on the fly
2022-05-10 18:46:00 +01:00
Tamas Vajk
84e9fd8dbd
Extract external types with members, so that tests don't produce DB constraint violations
...
The constructor of `Any` was missing. Also, previously members of external types were not extracted to not end up with DB constraint violations, but these I can't reproduce currently in tests.
2022-05-10 18:46:00 +01:00
Tamas Vajk
481c53a44d
Fix merge conflict
2022-05-10 18:45:59 +01:00
Tamas Vajk
a46a9b579e
Extract 'IsEnumType'
2022-05-10 18:45:59 +01:00