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
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
Ian Lynagh
bcbcd612a3
Kotlin: Improve the dbscheme generator
...
We now work out the supertype relationships based on the sets of leaf
types that are included, rather than simply following the hierarchy of
declarations. This means that we know about more supertype relationships
that exist, so there is less need to cast types.
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
Tamas Vajk
9e4614e574
Add gitignore
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