Anton Bannykh
d9fbe8b951
SecondaryCtorLowering
2020-02-06 21:03:37 +03:00
Anton Bannykh
fb36432cb5
PrimitiveCompanionLowering
2020-02-06 21:03:37 +03:00
Anton Bannykh
edf6dec63b
MultipleCatchesLowering
2020-02-06 21:03:37 +03:00
Anton Bannykh
f1442f5ae9
ConstLowering
2020-02-06 21:03:37 +03:00
Anton Bannykh
21ef35bc25
ClassReferenceLowering
2020-02-06 21:03:37 +03:00
Anton Bannykh
d9646a5361
BridgesConstruction
2020-02-06 21:03:36 +03:00
Anton Bannykh
4142031fe7
AutoboxingTransformer
2020-02-06 21:03:36 +03:00
Anton Bannykh
38d409a487
Inline function removal + body copying
2020-02-06 21:03:36 +03:00
Anton Bannykh
76c7668162
CallsLowering
2020-02-06 21:03:36 +03:00
Anton Bannykh
64a5039ebe
Refactor default arguments lowering
2020-02-06 21:03:36 +03:00
Anton Bannykh
9327776706
Rewrite inner class lowerings
2020-02-06 21:03:36 +03:00
Anton Bannykh
908c23cb48
Make ForLoopsLowering a BodyLoweringPass
2020-02-06 21:03:35 +03:00
Anton Bannykh
0d1c6e08c3
Refactor LateinitLowering into DeclarationTransformer's and a BodyLoweringPass
2020-02-06 21:03:35 +03:00
Anton Bannykh
6e96e271ae
Make InitializersLowering a BodyLoweringPass and add a InitializersCleanupLowering
2020-02-06 21:03:35 +03:00
Anton Bannykh
600caaa636
Make ExpectDeclarationsRemoveLowering a DeclarationTransformer
2020-02-06 21:03:35 +03:00
Anton Bannykh
d0284d19ec
Make PropertiesLowering a DeclarationTransformer
2020-02-06 21:03:35 +03:00
Anton Bannykh
03398e6025
Make StripTypeAliasDeclarationsLowering a DeclarationTransformer
2020-02-06 21:03:35 +03:00
Anton Bannykh
3d726fe5a2
Make InlineClassDeclarationLowering a DeclarationTransformer
2020-02-06 21:03:34 +03:00
Anton Bannykh
0a5db9d222
Make inlineClassUsageLowering a BodyLoweringPass
2020-02-06 21:03:34 +03:00
Anton Bannykh
fe236507a0
Make LocalDeclarationsLowering a BodyLoweringPass
2020-02-06 21:03:34 +03:00
Anton Bannykh
1eec2acf43
Make LocalClassPopupLowering a BodyLoweringPass
2020-02-06 21:03:34 +03:00
Anton Bannykh
d228de9008
Make ArrayConstructorLowering a BodyLoweringPass
2020-02-06 21:03:34 +03:00
Anton Bannykh
bf26b86cf2
Make ProvisionalFunctionExpressionLowering a BodyLoweringPass
2020-02-06 21:03:34 +03:00
Anton Bannykh
5aa2deb449
Make ReturnableBlockLowering a BodyLoweringPass
2020-02-06 21:03:33 +03:00
Anton Bannykh
2fa04afbf2
Make SharedVariablesLowering a BodyLoweringPass
2020-02-06 21:03:33 +03:00
Anton Bannykh
936e53d044
Make TailrecLowering a BodyLoweringPass
2020-02-06 21:03:33 +03:00
Anton Bannykh
a42f849981
Change BodyLoweringPass API; add DeclarationTransformer + helper methods
2020-02-06 21:03:33 +03:00
Anton Bannykh
b087d2d756
IR impl: additional constructors for IrBody implementations
2020-02-06 21:03:33 +03:00
Anton Bannykh
20dc3ccdb8
New mechanism for mappings between old and produced declarations
2020-02-06 21:03:33 +03:00
Anton Bannykh
e8fba8bcb6
IR API: change val ... : MutableList to var ...: List for most lists
...
All mutable state for IR declarations should be either:
- var (mutable properties)
- or class member list
Mutable properties are straightforward to persist.
The class member list is handled in a special way.
2020-02-06 21:03:32 +03:00
Anton Bannykh
0bcde9dffc
IR API: Make IrEnumEntry.initializerExpression IrExpressionBody
...
All non-declarations should be inside IrBody's now
2020-02-06 21:03:32 +03:00
Igor Yakovlev
3ec671d727
Fix getMirror for kotlin decompiled file
...
Possibly fixed EA142049
2020-02-06 20:24:20 +03:00
Alexander Udalov
c08c3d4d9b
Update JVM metadata version to 1.4.0
2020-02-06 17:22:02 +01:00
Ilmir Usmanov
8bb59e31e0
Minor. Remove textifyMethodNode, since it duplicates nodeText
2020-02-06 13:10:24 +01:00
Ilmir Usmanov
7dfd7b6081
Spill stack before analyzing it when looking for non-inline suspend lambda
...
parameters of inline function. Otherwise, it leads to AnalyzerException,
when inlined lambda contains try-catch block. The reason is simple:
in try block, we leave some variables on stack, while on catch block the
stack is empty. Spilling the variables before try block does the trick.
#KT-34708 Fixed
2020-02-06 13:10:21 +01:00
Pavel Kirpichenkov
b7a6fc271c
minor: remove unused import
2020-02-06 13:42:44 +03:00
Mikhail Glukhikh
e2a99f84a5
[FIR] Fix test data
2020-02-06 13:40:11 +03:00
Denis Zharkov
286622009d
FIR: Cleanup PostponedArguments.kt
2020-02-06 13:00:29 +03:00
Denis Zharkov
6f6281a3f3
FIR: Support type aliases to function types in resolution
2020-02-06 13:00:29 +03:00
Juan Chen
7249d2f889
[FIR] Fix translation of invokes & add return expressions for lambdas
...
* fixed NoSuchMethod caused by mismatched signatures of the "invoke" method generated for lambda arguments
* added test cases in invoke.kt for KFunction and anonymous functions
* added a transformer to wrap the last expression in the bodies of lambdas with return
2020-02-06 12:44:14 +03:00
Svyatoslav Scherbina
5eedba3903
Add Native-specific frontend checker for @Throws
2020-02-06 11:00:31 +03:00
Svyatoslav Scherbina
2a4d995fd1
Add infrastructure for Native-specific frontend diagnostic tests
2020-02-06 11:00:28 +03:00
Svyatoslav Scherbina
99ba6b5ae1
Make :compiler:tests-common depend on :native:frontend.native
2020-02-06 11:00:25 +03:00
Svyatoslav Scherbina
e699965ed6
Add infrastructure for Native-specific frontend diagnostics
2020-02-06 11:00:22 +03:00
Svyatoslav Scherbina
1f97ae1084
Make :compiler:cli depend on :native:frontend.native
2020-02-06 11:00:19 +03:00
Alexander Udalov
a4cc5ea1da
Remove unneeded dependency of backend-common on ir.tree
2020-02-05 22:45:12 +01:00
pyos
18dcbb3c94
JVM_IR: copy annotations to nullary bridges for default constructors
2020-02-05 22:02:05 +01:00
Alexander Udalov
5d766eace4
JVM IR: process type arguments for function references in DefaultImpls
...
Local functions for lambdas declared in DefaultImpls are now also
getting additional type parameters from the containing class (see
4dd794c2d2 ), so function references to them should be adapted similarly
to normal calls.
This change fixes
`box/coroutines/featureIntersection/interfaceMethodWithBodyGeneric.kt`.
2020-02-05 21:56:01 +01:00
Alexander Udalov
763cb6dd6f
JVM IR: keep original KotlinType in eraseTypeParameters
...
Otherwise EnhancedNullability annotation instance is lost (for some
reason it's not translated to IR elements), and in the newly added test,
the wrapper type in Java is confused with primitive, and this causes
a platform declaration clash error.
Also make IrTypeArgument.eraseTypeParameters private, since it's not
used outside.
2020-02-05 21:51:33 +01:00
Ilmir Usmanov
1ae0017401
JVM_IR: Minor. Support isFun in WrappedClassDescriptor
...
Otherwise, compilation of kotlinx-coroutines-core breaks.
2020-02-05 19:17:06 +01:00