Svyatoslav Scherbina
|
d0a166ffec
|
psi2ir: move IR building utils to ir.tree
|
2017-01-11 14:54:12 +07:00 |
|
Svyatoslav Scherbina
|
0189faec2e
|
ir.tree: fix IrTry.transformChildren:
transform `finallyExpression` too.
|
2017-01-11 14:54:09 +07:00 |
|
Dmitry Petrov
|
d9271b54fb
|
Fix IR generation: temporary variable in 'hashCode()' for data class should be 'var'
|
2016-12-23 10:44:14 +03:00 |
|
Stanislav Erokhin
|
42440f50dc
|
Remove soft keyword coroutine & isCoroutine from ValueParameterDescriptor.
|
2016-12-15 23:57:56 +03:00 |
|
Stanislav Erokhin
|
59efedf610
|
Rename platform to header.
|
2016-12-13 18:00:00 +03:00 |
|
Alexey Andreev
|
ba2443bcb3
|
Add external property to class and property descriptors
|
2016-12-08 15:41:38 +03:00 |
|
Alexander Udalov
|
ce9691cd2b
|
Support platform/impl modifiers for properties
Do not allow platform properties to have backing fields, initializers, be
delegated, lateinit or const, or have accessors with bodies
|
2016-11-25 20:50:18 +03:00 |
|
Alexander Udalov
|
6e2ef9b1d2
|
Add platform/impl soft keywords, add isPlatform/isImpl to MemberDescriptor
|
2016-11-25 20:50:17 +03:00 |
|
Dmitry Petrov
|
7dce1f438f
|
Inner classes lowering.
|
2016-10-19 19:13:40 +03:00 |
|
Dmitry Petrov
|
b5d81d8e31
|
Preparations to push to master branch.
Introduce tests-ir-jvm module (for IR-based JVM BE tests).
|
2016-10-18 09:15:19 +03:00 |
|
Dmitry Petrov
|
a93f929615
|
Minor: IrElementVisitorVoid#visitGetVariable -> visitGetValue
|
2016-10-18 09:10:19 +03:00 |
|
Dmitry Petrov
|
fb5298237a
|
Shared variables lowering.
|
2016-10-18 09:10:16 +03:00 |
|
Dmitry Petrov
|
5ee2f87c4a
|
Closure conversion: simple tests work.
|
2016-10-18 09:10:12 +03:00 |
|
Michael Bogdanov
|
0b45655b7b
|
Support exhaustive when
|
2016-10-18 09:10:02 +03:00 |
|
Michael Bogdanov
|
a0d9d24c1f
|
Introduced IrElseBranch
|
2016-10-18 09:10:01 +03:00 |
|
Dmitry Petrov
|
a51efaacc9
|
Introduce IrGetValue as a replacement for IrThisReference / IrGetExtensionReceiver / IrGetVariable.
|
2016-10-18 09:09:59 +03:00 |
|
Michael Bogdanov
|
567b174e15
|
Funther default impl support
|
2016-10-18 09:09:57 +03:00 |
|
Dmitry Petrov
|
fc754e533d
|
Enum classes lowering.
|
2016-10-18 09:09:55 +03:00 |
|
Dmitry Petrov
|
7950235df3
|
Lowering for constructors & initializers.
|
2016-10-18 09:09:52 +03:00 |
|
Dmitry Petrov
|
45c999788a
|
Deep copy for IR elements.
NB: we can transform descriptors during copying.
|
2016-10-18 09:09:44 +03:00 |
|
Dmitry Petrov
|
d66d582f25
|
Update to origin/master.
IrReturn should return 'Unit' for "return without value".
|
2016-10-18 09:09:40 +03:00 |
|
Dmitry Petrov
|
8551bcf103
|
Refactor IrWhen.
|
2016-10-18 09:09:38 +03:00 |
|
Michael Bogdanov
|
fe51c35298
|
Fix for 'getNthResult' in IfThenElse expression impl
|
2016-10-18 09:09:32 +03:00 |
|
Dmitry Petrov
|
291d535de7
|
Fix IR generation for string templates containing single entry.
|
2016-10-18 09:09:30 +03:00 |
|
Dmitry Petrov
|
1c2a676cd6
|
Make coercion to Unit explicit in IR.
|
2016-10-18 09:09:30 +03:00 |
|
Dmitry Petrov
|
16334771ad
|
Minor: comment for IrMemberAccessExpression::getTypeArgument
|
2016-10-18 09:09:29 +03:00 |
|
Dmitry Petrov
|
7ae6c55ddb
|
IrMemberAccessExpression::getTypeArgument
|
2016-10-18 09:09:28 +03:00 |
|
Dmitry Petrov
|
89de2a2ebe
|
Drop IrGeneralCall, pull up corresponding members to IrMemberAccessExpression.
|
2016-10-18 09:09:28 +03:00 |
|
Dmitry Petrov
|
b19bcc0587
|
IrElementTransformerVoid
|
2016-10-18 09:09:27 +03:00 |
|
Dmitry Petrov
|
e0129ef33b
|
IrDeclaration.transform(transformer, data) returns IrStatement.
Declaration containers assume that transformers maintain declaration structure.
|
2016-10-18 09:09:26 +03:00 |
|
Dmitry Petrov
|
2b5cb0f722
|
Make statement containers mutable.
|
2016-10-18 09:09:26 +03:00 |
|
Dmitry Petrov
|
4c88ad408f
|
Make declaration containers mutable.
|
2016-10-18 09:09:25 +03:00 |
|
Dmitry Petrov
|
4b9c5effd3
|
Minor: irElement rendering
|
2016-10-18 09:09:25 +03:00 |
|
Dmitry Petrov
|
90119880c5
|
IrCatch element.
|
2016-10-18 09:09:24 +03:00 |
|
Dmitry Petrov
|
001b95473a
|
Drop 'parent' and 'slot'.
|
2016-10-18 09:09:21 +03:00 |
|
Dmitry Petrov
|
a8a6477ce5
|
IrOperator -> IrStatementOrigin
|
2016-10-18 09:09:21 +03:00 |
|
Dmitry Petrov
|
5386d27284
|
File class lowering
|
2016-10-18 09:09:20 +03:00 |
|
Dmitry Petrov
|
a25e781ee9
|
Minor: IrFieldAccessExpression, visitor methods.
|
2016-10-18 09:09:19 +03:00 |
|
Dmitry Petrov
|
c699e2d24c
|
Include declaration origin in testData.
|
2016-10-18 09:09:19 +03:00 |
|
Dmitry Petrov
|
0cdf831bf0
|
IrDeclarationContainer as a super-interface for IrFile and IrClass.
Builder for IrDeclarationContainer (initial implementation; TODO more flexible builders).
|
2016-10-18 09:09:16 +03:00 |
|
Dmitry Petrov
|
5c720845a8
|
Drop IrPropertyAccessor (and subclasses).
Drop IrLocalPropertyAccessor (and subclasses).
Introduce IrField.
|
2016-10-18 09:09:15 +03:00 |
|
Dmitry Petrov
|
aee2a58385
|
Drop assertDetached, unneeded ceremony.
|
2016-10-18 09:09:14 +03:00 |
|
Dmitry Petrov
|
00a74699e2
|
SourceLocationManager -> SourceManager
|
2016-10-18 09:09:13 +03:00 |
|
Dmitry Petrov
|
1e00561b6f
|
IrModule -> IrModuleFragment
|
2016-10-18 09:09:13 +03:00 |
|
Dmitry Petrov
|
838b639692
|
IrComposite - block introducing immediate declarations to the surrounding scope.
E.g., destructuring declaration is represented as IrComposite.
|
2016-10-18 09:09:12 +03:00 |
|
Dmitry Petrov
|
da4079bfe7
|
Move implementation classes to 'impl' packages.
|
2016-10-18 09:09:11 +03:00 |
|
Dmitry Petrov
|
d6a3246586
|
Use throwNoSuchSlot consistently.
|
2016-10-18 09:09:10 +03:00 |
|
Dmitry Petrov
|
40a60e430f
|
- Compact representation for empty blocks.
- Fix some issues in IrBlockImpl.
|
2016-10-18 09:09:10 +03:00 |
|
Dmitry Petrov
|
09c52696a5
|
Unique numbers for "special" slots.
|
2016-10-18 09:09:09 +03:00 |
|
Dmitry Petrov
|
4e270ef487
|
Store file-level annotations in IrFile (should be on some descriptor, really).
|
2016-10-18 09:09:09 +03:00 |
|