Georgy Bronnikov
bfe148efd5
IR: mostly remove descriptors from codegen
2019-05-01 20:08:20 +03:00
Georgy Bronnikov
9923d956aa
JVM_IR: rework IrIntrinsicMethods
2019-05-01 20:08:20 +03:00
Georgy Bronnikov
98d309d03b
IR: declaration builders for receiver parameters
2019-05-01 20:08:20 +03:00
Georgy Bronnikov
ad70a68671
JVM_IR: correct some type parameter bugs
2019-05-01 20:08:20 +03:00
Georgy Bronnikov
3e6171aefc
JVM_IR: redirect super calls to DefaultImpls where necessary
2019-05-01 11:47:44 +03:00
Alexander Udalov
e22594acde
JVM IR: slightly change field renaming convention implementation
...
Prefer to rename fields from the class, not from the companion, to be
more in line with the old backend's behavior. This has no effect on the
behavior of current tests but removes differences in metadata (since
metadata has information about every property->field mapping) in some of
them
2019-04-30 13:15:29 +02:00
Alexander Udalov
6cc293a0c5
JVM IR: record FIELD_FOR_PROPERTY for property delegates
...
Delegated properties now have their $delegate fields recorded in the
metadata (in `ClassCodegen.generateField`). This part of metadata is
used by `KPropertyN.getDelegate` functions, so almost all tests on
getDelegate are now unmuted
2019-04-30 13:15:29 +02:00
pyos
c77e8a8c2d
JVM_IR: remove another redundant lowering
2019-04-30 08:20:37 +02:00
Jiaxiang Chen
4b99d85322
Optimize JVM byte code generation for conditional conjunction
...
Implement an intrinsic method for boolean.and operation, and replace
ANDAND condition with a call to such intrinsic method.
2019-04-29 13:28:18 +02:00
Alexander Gorshenev
bd78e7e0aa
Move property serialization to symbols
...
Make sure private field's wrapped descriptor is bound
2019-04-29 04:10:00 +03:00
Alexander Gorshenev
2c026114ae
Made IrStatementOrigin serialization field optional for all statements
2019-04-29 04:04:16 +03:00
Alexander Gorshenev
85f85fb3e8
IrStatementOrigin support in newly introduced IrDelegatedPropertyReference
2019-04-29 04:04:16 +03:00
Alexander Gorshenev
19bd01cc8a
Introduced proper IrStatementOrigin serialization.
2019-04-29 04:04:16 +03:00
Dmitry Petrov
865e0cc080
IR: IrConstructorCall: fixes after rebase
2019-04-26 17:43:26 +03:00
Igor Chevdar
7f423bd841
[IR] Fixes in inliner
2019-04-26 17:43:26 +03:00
Mikhael Bogdanov
be0b2e064b
Fix JVM IR inliner
2019-04-26 17:43:26 +03:00
Roman Artemev
c545481db9
Fix JS_IR IrConstructorCall support
2019-04-26 17:43:26 +03:00
Roman Artemev
2a3ce8e9f1
Serialize IrConstructorCall
2019-04-26 17:43:26 +03:00
Dmitry Petrov
b78d1bb2b9
IrConstructorCall support in JVM_IR, JS_IR, and FIR2IR
2019-04-26 17:43:25 +03:00
Dmitry Petrov
82128800c5
IR: assertion in IrCallImpl init
...
NB it uses descriptor to determine if we try to call constructor using
IrCall.
2019-04-26 17:43:24 +03:00
Dmitry Petrov
11eea6e86a
psi2ir: generate IrConstructorCall elements in IR builder helpers
2019-04-26 17:43:24 +03:00
Dmitry Petrov
e3fd74a580
IR: annotations are represented as IrConstructorCall elements
...
Also, they are rendered somewhat nicer
2019-04-26 17:43:24 +03:00
Dmitry Petrov
db7bcb6464
IR proto: IrConstructorCall in protobuf format
2019-04-26 17:43:24 +03:00
Dmitry Petrov
198ccbc114
JVM_IR: support IrConstructorCall in ExpressionCodegen
2019-04-26 17:43:24 +03:00
Dmitry Petrov
37b1c175ce
IR: introduce IrConstructorCall / IrConstructorCallImpl
2019-04-26 17:43:24 +03:00
Roman Artemev
5bd3bcd237
[JS IR BE] Support main function
...
* Implement IR-based main function detector
2019-04-26 17:04:28 +03:00
Roman Artemev
6729603ac7
[JS IR BE] Fix warnings
2019-04-26 17:04:28 +03:00
Leonid Startsev
406896eaf0
Implement equals/hashcode for IrDeclarationOrigin so deserialized unknown origins would be compared correctly
2019-04-26 14:59:51 +03:00
Mikhail Zarechenskiy
f00c946ff7
Fix projection compilation against bootstrap compiler
...
This is needed after 5d95a1ac
2019-04-25 16:19:38 +03:00
Dmitry Gridin
b78ec32c02
Change CodegenFactory signature from Collection<KtFile?> to Collection<KtFile>
2019-04-25 19:47:39 +07:00
Dmitry Gridin
37c856290f
Fix minor compile warnings
2019-04-25 19:47:39 +07:00
pyos
31670622c0
Remove a redundant JVM-specific lowering
2019-04-25 14:30:41 +02:00
pyos
4b0b9e1f80
JVM_IR: make ToArrayLowering linear in complexity
...
by not running DFS from every node visited during another DFS.
2019-04-25 11:07:34 +02:00
Svyatoslav Kuzmich
e30bdb8dc9
Fix hanling module names that require escaping
2019-04-25 03:54:17 +03:00
Svyatoslav Kuzmich
b0bd5802bb
Remove optionalExpectation hacks
...
Add common sources to Generate IR Runtime
2019-04-24 13:06:58 +03:00
Svyatoslav Kuzmich
1a6e6588fc
Fix: Use Vars instead of plain assignments for declaration imports
2019-04-24 13:06:58 +03:00
Steven Schäfer
f2392a6a28
Remove Concat and StringPlus intrinsics in favor of IrStringConcatenation.
2019-04-24 12:04:12 +02:00
Svyatoslav Kuzmich
bb3b9a935f
Command line interface
2019-04-23 23:19:12 +03:00
Roman Artemev
89500d776d
[IR BE] Don't use symbol table in SuspendFunctionLowering
2019-04-23 22:30:00 +03:00
nikita.movshin
deb416484c
Update copyright. Fix 2 lines comments after rebase
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
2019-04-23 20:15:03 +03:00
nikita.movshin
65244b4bea
Update copyright.
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
Update only 2 lines copyright.
2019-04-23 20:09:22 +03:00
pyos
5b595b58b2
JVM_IR: fold constant string concatenations
2019-04-23 16:20:43 +02:00
Steven Schäfer
8c06f7daae
Fix IR declaration parents.
...
- Reparent declarations in FileClassLowering, InterfaceLowering,
StaticDefaultFunctionsLowering, EnumClassLowering, and
RenameFieldsLowering
- Set correspondingPropertySymbol in MoveCompanionObjectFieldsLowering
- Reparent field initializers in MoveCompanionObjectFieldsLowering and
EnumClassLowering
- Ensure that parents are unique in PropertiesLowering
- Set declaration parent in SharedVariableManager
- Set field declaration parents in CallableReferenceLowering
- Set declaration parents in FunctionNVarargInvokeLowering
- Set declaration parents for external declaration fields
2019-04-23 12:51:27 +02:00
Svyatoslav Kuzmich
b1d303b027
Reorganize stdlib-js sources specific to the current JS backend
...
Move kotlin-stdlib-js project and the sources specific to the current backend to 'stdlib/js-v1' directory,
but leave sources that can be shared with the new IR backend in the common 'stdlib/js' location
with exception for 'stdlib/js/src/generated', which is used exclusively for current backend.
This simplifies sourceset configuration when building stdlib with the new backend.
2019-04-22 20:30:57 +03:00
Alexander Gorshenev
3ae64061c1
Minimal tweaks in IR Validation code just to be able to turn it on in Native.
2019-04-22 19:42:33 +03:00
Svyatoslav Kuzmich
889b4d721d
[JS IR BE] Use constructor parameter to determine underlying type for inline classes
...
Inline classes from lazy IR may not have files.
2019-04-22 13:18:01 +03:00
Svyatoslav Kuzmich
03ba0eae5a
[JS IR BE] Minor: better internal error message in Namer
2019-04-22 13:18:00 +03:00
Svyatoslav Kuzmich
7c2ee41491
[JS IR BE] Fix boolean companion object
2019-04-22 13:18:00 +03:00
Abduqodiri Qurbonzoda
3f08753f87
Move string-related files to text directory
2019-04-19 03:51:20 +03:00
Mikhael Bogdanov
dd005d3c02
Introduce IrLazyField
2019-04-18 19:56:19 +02:00