Ian Lynagh
c20ee76826
Kotlin: Give fields a Kotlin type
...
This meant refactoring the EnumEntry extraction a bit. The IR doesn't
give us a type for fields, so we have to make it up based on the parent.
2022-05-10 19:51:00 +01:00
Ian Lynagh
b3a28af319
Kotlin: Move extractTypeParameter back to KotlinFileExtractor
2022-05-10 19:51:00 +01:00
Ian Lynagh
7421e95816
Kotlin: Pull more out into KotlinUsesExtractor
2022-05-10 19:51:00 +01:00
Ian Lynagh
b381556a06
Kotlin: Fix up things that got pulled out into KotlinUsesExtractor
2022-05-10 19:51:00 +01:00
Ian Lynagh
a5a42b4416
Kotlin: Refactor so that we can't give locations to "used" things
...
Things we use may not be in the same file as us, so we aren't able to
generate valid locations for them.
2022-05-10 19:51:00 +01:00
Ian Lynagh
960c436824
Kotlin: Call extractClassCommon later
...
This fixes a "Missing type parameter label" warning from the extractor
with
interface Foo<T>
class Bar<T>: Foo<T> { }
caused by the `: Foo<T>` being extracted before extracting the `T`
in `Bar<T>`.
2022-05-10 19:51:00 +01:00
Ian Lynagh
6c957284de
Kotlin: Add support for enum value accesses
2022-05-10 19:51:00 +01:00
Ian Lynagh
976cc31c7a
Kotlin: Add support for string templates
2022-05-10 19:50:59 +01:00
Ian Lynagh
81fd7c735a
Kotlin: Add suport for enum classes
2022-05-10 19:50:59 +01:00
Ian Lynagh
2b01c5d825
Kotlin: Follow changes in main
2022-05-10 19:50:59 +01:00
Chris Smowton
97f380eddc
Don't abort external class extraction after first duplicate
2022-05-10 19:50:59 +01:00
Ian Lynagh
e8fd9ed948
Kotlin: Add a warning suppression
2022-05-10 19:50:59 +01:00
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
2ba8ccafa9
Kotlin: Make build compatible with older javac's
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
Chris Smowton
dfa9bef5bd
Fix gradle homedir search
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
3cb68bd7be
kotlin-extractor build: include Java source files
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
f5021e8e68
Java: produce Java 8 class files for compatibility with packaged Java 11 binary
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
8e63d10c1f
Populate Folders, containerparent tables
2022-05-10 19:50:57 +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
a0671cafb1
Remove trap file compression for now
2022-05-10 19:50:57 +01:00
Chris Smowton
2cc003ff0e
External class extraction prototype
2022-05-10 19:50:57 +01:00
Tamas Vajk
b7b506a23d
Improve temp directory cleanup
2022-05-10 18:46:02 +01:00
Tamas Vajk
52341dc99f
Modify build script to build both standalone and embeddable plugin variant
2022-05-10 18:46:02 +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
e5e6225d57
Kotlin: Add a build.py script that uses kotlinc to build
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
Tamas Vajk
731d601cdd
Add optional dbscheme path parameter to KotlinExtractorDbScheme.kt generator
2022-05-10 18:46:02 +01:00
Tamas Vajk
48b388daf7
Remove version number from output artifact name
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