Alexander Udalov
2bec72d46a
Additional cleanup of KotlinTypeMapper after J2K
2019-03-05 20:34:32 +01:00
Mikhael Bogdanov
20da778046
Add default values to KotlinTypeMapper constructor, remove them from call sites
...
~
2019-03-05 20:34:25 +01:00
Mikhael Bogdanov
cc0c3b1592
Specify default value for irBackend
2019-03-05 20:33:35 +01:00
Mikhael Bogdanov
a3c3282362
Minor. Clean up code after convertion
2019-03-05 20:33:34 +01:00
Mikhael Bogdanov
315df81397
Convert KotlinTypeMapper to Kotlin
2019-03-05 20:33:33 +01:00
Mikhael Bogdanov
61a95b440f
Rename .java to .kt
2019-03-05 20:33:32 +01:00
Mikhael Bogdanov
b43622b87f
Minor. Code clean
2019-03-05 20:33:31 +01:00
Alexander Udalov
d1e33534db
Implement typeOf intrinsic on JVM
...
#KT-29915 Fixed
2019-03-05 18:16:31 +01:00
Alexander Udalov
c61fe16202
Minor, fix inspections, remove unused in codegenUtil.kt
2019-03-05 17:58:10 +01:00
Alexander Udalov
e3779b1883
Minor, relax parameter type of AsmUtil.putJavaLangClassInstance
2019-03-05 17:58:10 +01:00
Alexander Udalov
afe3bed7e1
Minor, remove unused functions from inlineCodegenUtils.kt
2019-03-05 17:58:09 +01:00
Alexander Udalov
214ef0c3c2
Move generation of inline intrinsics to inlineIntrinsics.kt
2019-03-05 17:58:09 +01:00
Mikhail Zarechenskiy
82c8289666
Refactoring: move getRepresentativeUpperBound method to core
...
Plus prettify it a bit
2019-03-05 13:33:23 +03:00
Alexander Udalov
b8bc79e17c
Support non-trivial default argument values in expected functions on JVM
...
#KT-22818 Fixed
2019-02-26 11:02:30 +01:00
Yan Zhulanow
28e4356e6e
Restore original variable name mangling for captured/receiver $this
...
Design for the new one is still not finished.
2019-02-25 14:43:59 +03:00
Yan Zhulanow
b9f76683dd
Simplify 'suppressDiagnosticsInDebugMode'
...
In the new evaluator, suppressDiagnosticsInDebugMode is never set, and effectively the only check is that if a particular file is a KtCodeFragment.
2019-02-25 14:43:58 +03:00
Yan Zhulanow
6a81c2e1e4
Minor: Extract 'this' local variable name in DefaultImpls
2019-02-25 14:43:57 +03:00
Yan Zhulanow
0657a3d399
New evaluator that doesn't depend on the 'extract function' refactoring (KT-28192, KT-25220, KT-25222, KT-21650)
2019-02-25 14:43:57 +03:00
Yan Zhulanow
b4002accfb
Extract label name calculation from 'recordCallLabelForLambdaArgument()'
2019-02-25 14:43:56 +03:00
Yan Zhulanow
eaed6855ac
Minor: Add proper nullability check in generateExtensionReceiver()
2019-02-25 14:43:56 +03:00
Yan Zhulanow
d039e3b1c0
Hide synthetic variables for local functions and destructured lambda parameters (Kotlin variables)
2019-02-25 14:43:56 +03:00
Yan Zhulanow
488418d960
Change mangling for local functions
2019-02-25 14:43:56 +03:00
Yan Zhulanow
aca3be12e9
Change illegal local variable mangling rules
2019-02-25 14:43:56 +03:00
Yan Zhulanow
47f0b68a8c
Change mangling for destructured lambda parameters
2019-02-25 14:43:56 +03:00
Yan Zhulanow
f6cc686095
Minor: Extract a const for continuation variable name
2019-02-25 14:43:55 +03:00
Yan Zhulanow
ea462091c4
Support new convention for local variables name mangling: '$receiver' -> '$this$<label>' (KT-26913)
2019-02-25 14:43:53 +03:00
Yan Zhulanow
b5f9149702
Minor: Get rid of some magic constants
2019-02-25 14:43:53 +03:00
Ilmir Usmanov
1777849ff3
Generate correct linenumber for the debugger to see the return value
...
of suspend function.
#KT-20322 Fixed
2019-02-22 17:37:32 +03:00
Ilmir Usmanov
ec7315e6da
Add $completion entry to suspend functions' LVT
...
#KT-28810 Fixed
2019-02-22 13:50:35 +03:00
Ilya Chernikov
cc4aedb807
Move the rest of script descriptor implementation details to plugin, cleanup
2019-02-21 15:59:48 +01:00
Ilmir Usmanov
6e120b2173
Do not generate state-machines for suspend lambdas, which capture any
...
crossinline lambda, not only suspend.
#KT-29912 Fixed
2019-02-21 17:44:41 +03:00
Natalia Selezneva
254374c619
Use ModuleInfo in VirtualFileFinder to add script dependencies in search scope
...
Otherwise it prevent to inline functions from those dependencies during scratch compilation
2019-02-20 18:36:38 +03:00
Alexander Udalov
d267f1e875
JVM IR: generate synthetic $annotations methods for properties
2019-02-19 17:25:47 +01:00
Alexander Udalov
c357967c2c
JVM IR: generate Kotlin metadata
...
Introduce MetadataSource as a way to store the original descriptor for
any element (before any lowerings) and maintain it until the end of the
codegen where it's used in generating the metadata. Note that JVM
signatures written to the metadata are formed from the _resulting_
generated elements, not by mapping the original descriptors.
Some corner cases are not supported yet, namely properties declared in
companion objects, synthetic methods for property annotations,
JvmPackageName, etc.
#KT-29119 Fixed
2019-02-19 16:37:47 +01:00
Alexander Udalov
3d1858a8c5
Refactor and rename CodegenUtil.getDeclarationsToGenerate
...
Move logic regarding expect classes to the only relevant call site at
PackageCodegenImpl, and return the list of members to remove code
duplication at remaining call sites
2019-02-19 16:37:46 +01:00
Mikhael Bogdanov
3b57ceeafe
Don't generate annotations on $default methods
...
#KT-29965 Fixed
2019-02-19 10:51:37 +01:00
Ilmir Usmanov
1e4b7e1ef1
Put $assertionDisabled field into inline-site's class
...
The generated code is more inline with java, and we avoid the error of
accessing package-private field outside of the package.
However, this changes semantics a bit. Now, a user should set assertion
status of inline-site's package, instead of inline function's one.
#KT-28317: Fixed
2019-02-18 12:39:03 +03:00
Ilmir Usmanov
19d2262cf1
Generate call of throwOnFailure instead of manual check
...
whether coroutine is resumed with exception.
#KT-28015 Fixed
2019-02-14 18:33:17 +03:00
Ilmir Usmanov
440cccae73
Loosen tail call check
...
Check that any source of ARETURN is inside a suspension point, not all
of them.
#KT-27190 Fixed
2019-02-14 12:21:44 +03:00
Denis Zharkov
abad408d7b
Do not implicitly propagate deprecations originated in Java
...
^KT-29604 Fixed
2019-02-13 16:21:05 +03:00
Ilya Chernikov
dafb2a7519
Drop unused classes and references
2019-02-10 13:31:55 +01:00
Alexander Udalov
c2968b6a68
Minor, use kotlin.Pair in JvmSerializationBindings.FIELD_FOR_PROPERTY
2019-02-07 23:33:29 +01:00
Alexander Udalov
8ae03b54d9
JVM IR: generate correct .kotlin_module files
2019-02-07 21:23:02 +01:00
Alexander Udalov
aa0882a74f
Refactor .kotlin_module-writing code, simplify PackagePartRegistry
2019-02-07 21:23:01 +01:00
Mikhael Bogdanov
b2606735c5
Properly capture local delegated properties in object constructor
...
#KT-23117 Fixed
2019-02-05 16:14:51 +01:00
Mikhael Bogdanov
9ab6062295
Properly capture extension receiver for array convention expressions in object constructor
...
#KT-19389 Fixed
2019-02-05 16:14:50 +01:00
Alexander Udalov
db487a622a
Add -Xsanitize-parentheses to workaround ASM 6.1 issue in frame computation
...
#KT-29475 Fixed
2019-01-31 15:47:43 +01:00
Mikhael Bogdanov
a122cba862
Switch Kotlin project to jvm-target 1.8
...
#KT-29405
2019-01-31 07:43:05 +01:00
Alexander Udalov
a419112c25
Refactor class lookup methods in KotlinBuiltIns
...
Remove external usages of get*Nullable methods, inline/remove other
methods to simplify the API facade
2019-01-28 15:18:52 +01:00
Sergey Rostov
0f2fb4ff82
Build: remove intellijCore/annotations.jar usages
2019-01-28 13:43:08 +03:00