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
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