Commit Graph

1190 Commits

Author SHA1 Message Date
Tamas Vajk
5c72b52b97 Extract IrEnumConstructorCall 2022-05-10 18:45:59 +01:00
Tamas Vajk
9587e91f71 WIP: IrAnonymousInitializer/IrInstanceInitializerCall 2022-05-10 18:45:59 +01:00
Tamas Vajk
91eafafcc3 Extract delegating constructor calls 2022-05-10 18:45:59 +01:00
Tamas Vajk
661958488c Extract constructor calls 2022-05-10 18:45:59 +01:00
Tamas Vajk
5749dbf7d9 Fix package of Location 2022-05-10 18:45:59 +01:00
Ian Lynagh
7d479943db Kotlin: Remove a redundant warning suppression 2022-05-10 18:45:59 +01:00
Ian Lynagh
7eebf81ffc Kotlin: Remove some now-unnecessary casts 2022-05-10 18:45:59 +01:00
Tamas Vajk
5aac46f20f Fix DB relation names to use plurals 2022-05-10 18:45:58 +01:00
Tamas Vajk
bf4fb13326 Revert extracting this and this@TYPE parameters 2022-05-10 18:45:58 +01:00
Tamas Vajk
d6ec230e2f Recognize qualified this access of outer class instance 2022-05-10 18:45:58 +01:00
Tamas Vajk
3bfc93daab Add ExtensionMethod class 2022-05-10 18:45:58 +01:00
Tamas Vajk
7d8b6bac06 Fix this and qualified this parameter extraction 2022-05-10 18:45:58 +01:00
Tamas Vajk
575e5134bb Extract 'this'-like value parameters 2022-05-10 18:45:58 +01:00
Tamas Vajk
ebee830a01 Handle type parameters which are nullable without question mark 2022-05-10 18:45:58 +01:00
Tamas Vajk
aa190f9d65 Store break/continue targets 2022-05-10 18:45:58 +01:00
Tamas Vajk
ae7aa30bda Extract break/continue/throw 2022-05-10 18:45:58 +01:00
Tamas Vajk
e8a079b56a Extract all external class declarations (without members) 2022-05-10 18:45:58 +01:00
Tamas Vajk
1cc1daa88b Extract externally declared classes 2022-05-10 18:45:57 +01:00
Tamas Vajk
3e60841774 Extract ::class expressions 2022-05-10 18:45:57 +01:00
Tamas Vajk
f97c6af117 Extract nullable types as non-nullable 2022-05-10 18:45:57 +01:00
Tamas Vajk
fb44f1326f Extract Nothing as null 2022-05-10 18:45:57 +01:00
Tamas Vajk
f222fc6d42 Extract null literal 2022-05-10 18:45:57 +01:00
Ian Lynagh
bb3ebd7325 Kotlin: Fix warnElement counting
We were counting calls of warnElement, whereas we want to count its
callers.
2022-05-10 18:45:57 +01:00
Tamas Vajk
c64c950d9a Remove leftover comment class 2022-05-10 18:45:57 +01:00
Tamas Vajk
7ecb3650cb Cleanup getLabel 2022-05-10 18:45:57 +01:00
Tamas Vajk
48d019ebbe Fix review findings, add DB scheme for comments 2022-05-10 18:45:57 +01:00
Tamas Vajk
c23472d736 Rework and simplify comment extraction 2022-05-10 18:45:57 +01:00
Tamas Vajk
1c8be155c9 Extract comments (based on C# comments extraction with element stack) 2022-05-10 18:45:56 +01:00
Ian Lynagh
fd8dd21f75 Kotlin: Follow change in files(...) table 2022-05-10 18:45:56 +01:00
Ian Lynagh
598a2f8cb0 Kotlin: Record compilation and extraction times 2022-05-10 18:45:56 +01:00
Ian Lynagh
79e3cb38a8 Kotlin: Pull TrapWriter out into its own file 2022-05-10 18:45:56 +01:00
Ian Lynagh
2721f6aabf Kotlin: Pull Logger out into its own file 2022-05-10 18:45:56 +01:00
Ian Lynagh
e8d3125b40 Kotlin: Tweak a string 2022-05-10 18:45:56 +01:00
Chris Smowton
b5a8442e50 Extract type variable references
Also erase the types used to name methods; otherwise type-var labels and method labels are mutually recursive.
2022-05-10 18:45:56 +01:00
Ian Lynagh
87204f1634 Kotlin: Populate the compilation_compiling_files table 2022-05-10 18:45:56 +01:00
Ian Lynagh
dc3cc0e72e Kotlin: Refactoring: Give diagnostic messages locations and severities 2022-05-10 18:45:56 +01:00
Ian Lynagh
90eccc634b Kotlin: Refactor locations
Amongst other tidyups, we now generate correct "unknown location"s
2022-05-10 18:45:56 +01:00
Ian Lynagh
5c06ffae69 Kotlin: Use a TrapWriter for the invocation TRAP
We'll probably want to shuffle some more stuff from FileTrapWriter to
TrapWriter, but for now at least we are using the generated TRAP-writing
functions rather than writing raw TRAP.
2022-05-10 18:45:56 +01:00
Ian Lynagh
059d6798bb Kotlin: Tweak the definition of "eqwuivalent TRAP file"
TRAP files that only differ in their comments are equivalent
2022-05-10 18:45:55 +01:00
Ian Lynagh
c3dd35d98b Kotlin: Put temporary TRAP files in the correct directory 2022-05-10 18:45:55 +01:00
Ian Lynagh
774616450b Kotlin: Don't give stack traces for fake labels
There might be a significant performance hit for it.
2022-05-10 18:45:55 +01:00
Ian Lynagh
9bd0391c04 Kotlin: Don't fail if a file already exists in the source archive 2022-05-10 18:45:55 +01:00
Ian Lynagh
19ff50d0a6 Kotlin: Add a comment to each TRAP file linking to its invocation TRAP file 2022-05-10 18:45:55 +01:00
Ian Lynagh
4bc326ef82 Kotlin: Fix extraction when 2 invocations produce the same TRAP file
The second invocation was failing with a "file already exists" error.

I've also added a checkTrapIdentical flag, which is enabled for now.
This means that if 2 invocations write the same TRAP file, we will awrn
if they are not identical. It may be that this produces false positives,
but we can look at that if it happens.
2022-05-10 18:45:55 +01:00
Ian Lynagh
3e8f9f52a6 Kotlin: Start using invocation TRAP files 2022-05-10 18:45:55 +01:00
Ian Lynagh
71c3a64ff5 Kotlin: Simplify location extraction 2022-05-10 18:45:55 +01:00
Ian Lynagh
330727678a Kotlin: Add some location information to a warning 2022-05-10 18:45:55 +01:00
Ian Lynagh
486cff5df1 Kotlin: Add support for interfaces 2022-05-10 18:45:55 +01:00
Ian Lynagh
14e970044a Kotlin: Add some flushes
This will make it easier to see where we are if we get crashes in the
future.
2022-05-10 18:45:55 +01:00
Ian Lynagh
dbc3f29426 Kotlin: Put diagnostics in a TRAP file
Currently we just put everything in as severe with no location.
2022-05-10 18:45:55 +01:00