Ilya Matveev
0759ff7bc2
Override acceptChildren method in IrSetterCallImpl
2017-02-07 18:20:33 +03:00
Alexander Udalov
f1cd2ee6fd
Introduce PropertyDescriptor.isDelegated, write new flag to metadata
...
#KT-8384 In Progress
2017-01-23 12:25:34 +03:00
Dmitry Petrov
b9f9894310
KT-15677 KT-15775
...
Update parser & descriptor renderer to handle parenthesized types and function types properly.
Resolve annotations in parenthesized types.
AnnotationsImpl.isEmpty() returned false for targeted annotations only
(e.g., 'fun @receiver:Ann C?.foo()').
Properly keep track of targeted annotations.
2017-01-19 09:53:17 +03:00
Svyatoslav Scherbina
bf3b5281a9
ir.tree: add trivial building utils
2017-01-11 14:54:13 +07:00
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