Mikhail Glukhikh
3d00212e34
FIR Java: add minor comment (type parameter types)
2019-11-19 13:13:24 +03:00
Mikhail Glukhikh
f60842efe1
FIR resolve: add test with Java static class constructor access from Kotlin
...
This test does not work because nested classifier scope works incorrectly for Java
2019-11-19 13:08:54 +03:00
Mikhail Glukhikh
19aff81b55
FIR tower resolve: make static members accessible from derived classes
2019-11-19 13:07:53 +03:00
Mikhail Glukhikh
7dea06d2a7
FIR tower resolve: make companion members accessible from derived classes
2019-11-19 13:07:52 +03:00
Mikhail Glukhikh
802ed9b502
FIR: implement protected visibility checker #KT-34788 Fixed
2019-11-19 13:07:52 +03:00
Mikhail Glukhikh
ad3659d1d9
FIR deserializer: add forgotten type parameter bounds for FunctionX
2019-11-19 13:07:51 +03:00
Mikhail Glukhikh
1e548e3f21
FIR substitution: use intersection of bounds for * projection
2019-11-19 13:07:46 +03:00
Dmitriy Novozhilov
43a8c1282f
[FIR] Add toString() call to expressions in string templates
2019-11-19 13:04:49 +03:00
Dmitriy Novozhilov
8d9d6fd181
[TEST] Regenerate FirBlackBoxCodegenTest
2019-11-19 13:04:49 +03:00
Vladimir Ilmov
022a31398a
[coroutine][debug] creation stack trace jump to line fixed
2019-11-19 12:29:54 +03:00
Vladimir Ilmov
25222b55e6
[coroutine][debug] AsyncStackTraceProvider refactored
2019-11-19 12:29:54 +03:00
Vladimir Ilmov
310b3611ef
coroutine extention refactored to minimize brunch-related logic
2019-11-19 12:29:54 +03:00
Vladimir Ilmov
c90cd8c490
[coroutine][debug] compilation error fixed
2019-11-19 12:29:53 +03:00
Aleksandr Prokopyev
3ca5d2d64f
Debugger: Add 193 bunch for coroutines debugger
2019-11-19 12:29:53 +03:00
Aleksandr Prokopyev
1dc44b4000
Debugger: Tests refactor
2019-11-19 12:29:53 +03:00
Aleksandr Prokopyev
12313fa5aa
Debugger: Fix for coroutine debugger after review
2019-11-19 12:29:52 +03:00
Aleksandr Prokopyev
5975251a32
Debugger: Coroutines stack frames with variables & coroutine dumps
2019-11-19 12:29:06 +03:00
Roman Artemev
c459b2ca6e
[JS IR] Fix state machine control flow
...
- exception loop unwinding: make sure exception state is reset after try block is finished
- break/continue of suspended loops
2019-11-19 11:15:36 +03:00
Roman Artemev
18d0b477b6
[JS IR] Fix arrayOfNulls API
2019-11-19 11:15:36 +03:00
Roman Artemev
f2093a1763
[JS IR] Fix boxing/unboxing of inline classes in coroutine scope
...
- don't box/unbox when value is known to be an inline class
- add unbox state when coroutine resumed
- correctly handle suspension in case of inline class
- add tests
2019-11-19 11:15:35 +03:00
Roman Artemev
52b24ead91
[IR] Add REINTERPRET_CAST operator in IrTypeOperatorCall
...
- fix BE
- fix Serializer
- implement builder
- make Ir a bit more type-correct
- support developer mode (lowering [dynamic]implicit cast meterialized as general cast)
- fix autoboxing lowering
2019-11-19 11:15:35 +03:00
Roman Artemev
3795897fb7
[JS IR] Add developer mode in configuration
2019-11-19 11:15:35 +03:00
Roman Artemev
a2703b1534
[IR] Unlink isLocal and isAnonymousObject from Descriptors API
2019-11-19 11:15:35 +03:00
Mikhail Glukhikh
f633102b8c
Unmute one of generated FIR black box codegen tests
2019-11-19 11:00:10 +03:00
Mikhail Glukhikh
9c9cf2086d
Unmute recently fixed FIR black box tests
2019-11-19 11:00:10 +03:00
Mikhail Glukhikh
f3d0a976b2
Disable recently added FIR black box tests
2019-11-19 11:00:10 +03:00
Mikhail Glukhikh
779b9e97d5
Add IGNORE_BACKEND_FIR into generated black box tests (InRange, Ranges, ...)
2019-11-19 11:00:10 +03:00
Mikhail Glukhikh
7a7fc89c00
Regenerate FIR black box codegen tests
2019-11-19 11:00:09 +03:00
Mikhail Glukhikh
2ab3769998
Generation test utils: extract compileFilesUsing standard mode / FIR
2019-11-19 11:00:09 +03:00
Mark Punzalan
9df2f69f09
[FIR] Disable failing blackbox codegen tests for FIR.
2019-11-19 11:00:09 +03:00
Mark Punzalan
fc9ccafb84
[FIR] Generate and enable blackbox codegen tests.
2019-11-19 11:00:06 +03:00
Dmitriy Novozhilov
ac590fa4c9
[FIR] Fix deserializing nullability of type parameters
2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov
950d1f4fe4
[FIR] Fix enhancement of java array type
2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov
d56412e397
[FIR] Analyze lambda arguments in erroneously resolved calls
2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov
a85ece1d83
[FIR-TEST] Add test with problem of invisible static members of supertype
2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov
35dd1cf75a
[FIR] Fix binding return expression to function
2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov
98378d8973
[FIR] Infer type of lambda using all return statements
2019-11-19 10:43:45 +03:00
Dmitriy Novozhilov
99da7272f5
[FIR] Change children order in FirConstructor
2019-11-19 10:43:45 +03:00
Dmitriy Novozhilov
01b47854c6
[FIR] Fix implicit builtin types usages in body resolve
2019-11-19 10:43:45 +03:00
Sergey Bogolepov
e4702bf438
[kotlinx-metadata] Add extensions for type aliases.
2019-11-19 11:41:06 +07:00
Steven Schäfer
85b36dcd88
IR: Introduce IrClassifierSymbol.defaultType
2019-11-18 19:40:04 +01:00
Steven Schäfer
3d7d1022e4
JVM IR: Add supertypes for PropertyReference classes in JvmSymbols
...
This is still missing overrides, but this change is enough to make
the code generated in PropertyReferenceLowering typecheck.
2019-11-18 19:40:04 +01:00
Steven Schäfer
2db8471dd7
IR: Avoid "raw" IrTypes
...
The ir type checker cannot deal with types with an incorrect number of arguments.
On the other hand, the JVM IR backend sometimes produces "raw types" - types with
generic parameters but without arguments. This commit removes such raw types as
much as possible, by replacing calls to "typeWith()" with calls to "defaultType"
for classes without type parametes (defaultType doesn't allocate, unlike typeWith)
and with calls to "starProjectedType" for classes with type parameters.
2019-11-18 19:40:04 +01:00
Steven Schäfer
4d67803f04
JVM IR: Fix IR types in default argument stubs
2019-11-18 19:40:04 +01:00
Steven Schäfer
9ef627ebec
JVM IR: Fix types in EnumClassLowering
2019-11-18 19:40:04 +01:00
Steven Schäfer
492a46206b
JVM IR: Fix return type of IrSetField in SharedVariablesManager
2019-11-18 19:40:04 +01:00
Alexander Udalov
e8cb19fe22
IR: minor, remove obsolete IrBasedDeclarationDescriptor
...
It was introduced to reference wrapped descriptors in `ir.tree`, but
since 2f544280 it's no longer necessary
2019-11-18 18:58:41 +01:00
Alexander Udalov
0daab88f97
JVM IR: make RemoveInlinedDeclarations a final module phase
...
Code in inline lambdas can call multifile part members. These calls are
replaced in GenerateMultifileFacades with the call to the facade member.
Previously this didn't happen though because the lambda body was removed
before the GenerateMultifileFacades phase, which led to
IllegalAccessError in the -Xmultifile-parts-inherit mode (because the
part class is package private in another package).
2019-11-18 18:58:41 +01:00
Alexander Udalov
cdb7703947
JVM IR: fix VerifyError on annotated annotation properties
...
The problem was that we tried to generate an `$annotations` method for a
property declared in an annotation class. That method is final and has a
body, which is not allowed in annotation classes. Now we're generating
this method in the separate `$DefaultImpls` class as for properties in
interfaces.
Note that the added test still doesn't find any annotations because the
proper support is needed in reflection (KT-22463). Currently it only
checks that no VerifyError happens.
2019-11-18 18:58:41 +01:00
Alexander Udalov
994d4e081b
JVM IR: fix names of monitorenter/monitorexit intrinsics
...
Since they're "illegally" accessed from another file in stdlib,
accessors are generated for them, and the calls go through these
accessors
2019-11-18 18:58:41 +01:00