Commit Graph

59209 Commits

Author SHA1 Message Date
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