Roman Artemev
41ccea6807
[JS IR BE] Fix name clashes between static and top-level functions
2018-10-19 14:07:20 +03:00
Roman Artemev
79f7cb11f0
[JS IR BE] Fix invoke on dynamic types
2018-10-19 14:03:06 +03:00
romanart
df5872281b
[JS IR BE] Support instance check for Nothing type
2018-10-18 19:00:43 +03:00
Anton Bannykh
3a105debb3
[JS IR BE] fix default arguments lowering
2018-10-18 14:25:48 +03:00
Anton Bannykh
e9c932260c
[JS IR BE] minor refactoring
2018-10-18 14:25:48 +03:00
Dmitry Petrov
763e72603a
Mark implicit 'invoke' calls with origin INVOKE
2018-10-18 10:59:24 +03:00
Georgy Bronnikov
bbac1d802f
JVM_IR. Support annotation classes with JvmField fields
2018-10-17 21:15:28 +03:00
Georgy Bronnikov
605afbae90
Move fields and init blocks of companions to their owners
2018-10-17 21:15:28 +03:00
Georgy Bronnikov
827494abbe
JVM_IR. Mostly remove descriptors from ConstAndJvmFieldPropertiesLowering
2018-10-17 21:15:28 +03:00
Alexander Udalov
6e2e6794aa
Remove unnecessary copy of ReflectionTypes
...
ReflectionTypes was copied from org.jetbrains.kotlin.builtins to
kotlin-native in
https://github.com/JetBrains/kotlin-native/commit/776f4c4b7 , and then
was incorrectly copied back in 27365dc4be . This class is in fact only
needed in kotlin-native, where it was moved and simplified in
https://github.com/JetBrains/kotlin-native/commit/c3e921d53
2018-10-17 18:39:50 +02:00
romanart
d75434ac71
[JS IR BE] Support tailreq in JS
2018-10-17 18:33:52 +03:00
romanart
eb2a33ebee
[JS IR BE] Implement lowering to connect kotlin Throwable with JS Error
2018-10-17 14:10:37 +03:00
Georgy Bronnikov
4942ed5e7a
Clean up backend.common.ir.IrUtils.kt
2018-10-15 21:52:50 +03:00
Georgy Bronnikov
376eef05f5
JVM_IR. Accessor lowering
2018-10-15 21:52:50 +03:00
Georgy Bronnikov
a23aae590e
JVM_IR. Avoid unbound symbols and declarations without parent
2018-10-15 21:52:50 +03:00
Svyatoslav Kuzmich
02277d0293
[JS IR BE] ExpectDeclarationsRemoving lowering
...
* Copy lowering from konan to common
* Keep actual default parameters when both actual and expect default parameters are present
* Run lowering before inline in JS IR BE to fix
box/multiplatform/defaultArguments/inlineFunctionWithDefaultLambda.kt
2018-10-15 00:03:46 +03:00
Svyatoslav Kuzmich
5a057f8ca6
[JS IR BE] Support 'is Number' and 'is Comparable<>'
2018-10-14 23:53:03 +03:00
Svyatoslav Kuzmich
783f27c554
[JS IR BE] Support Number.to(Byte|Short|Int|Float|Double|Long)
2018-10-14 23:53:03 +03:00
Svyatoslav Kuzmich
bad9534abd
[JS IR BE] Support integer operation overflow
2018-10-14 23:53:02 +03:00
Zalim Bashorov
8013a56286
[JS IR BE] process empty loops correctly in BlockDecomposerLowering
2018-10-13 01:51:59 +03:00
Zalim Bashorov
9041d717a2
[JS IR BE] add IrType.asString that return stable string representation to use it for stringified signatures
...
`IrType.render` was used before, but it's written for debugging purpose and generates unstable string representation.
2018-10-11 14:54:55 +03:00
Svyatoslav Kuzmich
7074909230
[JS IR BE] Support enumValues<T>() and enumValueOf<T>(name)
2018-10-10 19:35:17 +03:00
Svyatoslav Kuzmich
bdc3daf972
[JS IR BE] Support Enum::values
2018-10-10 19:35:17 +03:00
Svyatoslav Kuzmich
e73ff16b35
[JS IR BE] Refactor: split IntrinsicifyCallsLowering into multiple classes
2018-10-10 17:27:37 +03:00
Svyatoslav Kuzmich
749556f565
[JS IR BE] Support Long coercion
2018-10-10 17:27:37 +03:00
Anton Bannykh
8c6337f3f6
[JS IR BE]: support dynamic_var["foo"] = "bar"
...
Used EQ origin to detect. Added a test to check dynamic_var = "bar" case
is not affected
2018-10-10 13:43:22 +03:00
romanart
9b40981368
[JS IR BE] Unit Materialization lowering
...
Fix unit-related things across backend
2018-10-09 15:32:52 +03:00
Dmitry Petrov
8891733074
Generate const val initializers as IrConst expressions
2018-10-02 13:46:37 +03:00
Mikhael Bogdanov
4fb434c0de
Move out jvm-specific part from ir-common
...
#KT-27005 Fixed
2018-10-02 11:12:21 +02:00
Georgy Bronnikov
ade640eadb
JVM_IR. Support compile time constants
2018-10-01 12:25:55 +03:00
Svyatoslav Kuzmich
334c776b92
[JS IR BE] Fix @DoNotIntrinsify processing. Reuse it for compareTo
2018-09-28 20:27:01 +03:00
Georgy Bronnikov
487f500f85
Revert "JVM_IR. Support compile time constants"
...
This reverts commit 055215c54f .
2018-09-25 05:24:48 +03:00
Georgy Bronnikov
055215c54f
JVM_IR. Support compile time constants
2018-09-25 01:38:51 +03:00
Svyatoslav Kuzmich
b79dcbe8e6
[JS IR BE] Refactor equals and compareTo lowering
2018-09-24 18:21:57 +03:00
Anton Bannykh
8e347f9f39
[JS IR BE] lateinit support
...
* Functions with IrExpressionBody are lowered to IrBlockBody
* Implemented throwUninitializedPropertyAccessException function
2018-09-21 18:20:11 +03:00
Anton Bannykh
beaf6df8c5
[JS IR BE] support CharSequence and String methods
2018-09-21 18:16:03 +03:00
Dmitry Petrov
d03237bebc
Generate backing fields and initializers for external constants
2018-09-21 09:50:21 +03:00
Anton Bannykh
06ecca4144
[JS IR BE] unsigned literal support
2018-09-19 17:45:07 +03:00
Roman Artemev
084071e2e5
[JS IR BE] Fix callable reference lowering
...
* more precisely handle implicit receiver arguments
2018-09-18 14:59:21 +03:00
Anton Bannykh
0660e4d616
[JS IR BE] support multimodule tests
2018-09-18 14:36:20 +03:00
Anton Bannykh
2e709a81fa
[JS IR BE] Arrays, varargs
2018-09-18 14:36:20 +03:00
Roman Artemev
affc827998
[JS IR BE] Support 1.3 coroutines in backend
2018-09-17 15:29:18 +03:00
Roman Artemev
323602eb5f
Skip expect declaration
2018-09-17 14:52:44 +03:00
Roman Artemev
a8b44c9e18
[JS IR BE] Fix Ir Copier
...
* use symbol table to allocate classifier for IrType
2018-09-17 14:52:44 +03:00
Roman Artemev
6bb77ba51d
[JS IR BE] Get rid of parameters in doResume method. Make its signature similar for both 1.2 and 1.3 coroutines
2018-09-17 14:52:44 +03:00
Georgy Bronnikov
f04733ef33
JVM_IR. support big arity
2018-09-13 18:44:47 +03:00
Denis Zharkov
9cb8a35275
Minor. Pull user-data related things to CallableDescriptor
...
Currently, we assume user data for all non-FunctionDescriptor
declarations is empty
2018-09-12 09:49:25 +03:00
Svyatoslav Scherbina
5c6193ddf3
Use proper origin for fake override fields in IR
2018-09-10 17:00:58 +03:00
Svyatoslav Scherbina
dc71e5b934
Prevent external IR field stub from being bound twice
2018-09-10 17:00:57 +03:00
Alexander Udalov
87c0d56618
Drop Annotations.getAllAnnotations
2018-09-06 19:13:14 +03:00