Dmitry Petrov
0f1f354ba6
KT-16486 Strange IR for delegated members
...
Delegated implementations should refer to delegate field:
$this: GET_FIELD <delegate_field> ...
receiver: <this_for_containing_class>
2017-03-01 09:25:38 +03:00
Dmitry Petrov
de14d4abc8
KT-15748 Type alias constructor return type should have a corresponding abbreviation
2017-01-27 15:16:04 +03:00
Dmitry Petrov
ee9a174c1f
KT-7897 Do not require to call enum constructor for each entry if all parameters have default values
...
Do not report an error on enum entry without initializer if all parameters have default values
(error is still reported if there is no such constructor, or if the constructor call is ambiguous).
Record resolved call on KtEnumEntry.
NB is the enum entry has a corresponding subclass, we still have to generate the "default" constructor call,
because FE doesn't know about the platform-specific representation of that class and its constructors.
See also KT-14097, KT-15900
2017-01-24 16:59:47 +03:00
Ilya Gorbunov
dcd7f3eb57
Fix test data after introducing overloads #KT-15630
2017-01-11 14:33:17 +03:00
Svyatoslav Scherbina
4c3fb9a21f
psi2ir: improve backing field usage generation
...
Also update corresponding tests data.
2017-01-11 14:54:10 +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
Dmitry Petrov
33ed98a0d3
Update typing rules for class literal expressions.
...
C::class : KClass<C>
expr: T => expr::class : KClass<out T>
NB: this means Obj::class : KClass<out Obj> for object Obj.
2016-12-19 10:41:49 +03:00
Mikhail Zarechenskiy
62ac91a121
Add operator 'rem' to builtIns
...
Also deprecate operator 'mod'
2016-12-14 15:29:00 +03:00
Dmitry Petrov
4c47d77a9f
Report error on non-top-level type aliases (unsupported in 1.1).
...
Get rid of nested type aliases in project.
2016-11-21 10:25:51 +03:00
Dmitry Petrov
7dce1f438f
Inner classes lowering.
2016-10-19 19:13:40 +03:00
Michael Bogdanov
20c4f47253
Properly lower ImplicitClassReceiver
2016-10-18 09:10:19 +03:00
Michael Bogdanov
b72d7557d1
KClassJavaProperty support
2016-10-18 09:10:13 +03:00
Michael Bogdanov
e543972dad
Properly calculate safe call receivers
2016-10-18 09:10:05 +03:00
Dmitry Petrov
a51efaacc9
Introduce IrGetValue as a replacement for IrThisReference / IrGetExtensionReceiver / IrGetVariable.
2016-10-18 09:09:59 +03:00
Dmitry Petrov
608d6a37d2
Some enum-related fixes
...
(NB: testEnumClass3 doesn't work yet, effective modality required for enum class)
2016-10-18 09:09:57 +03:00
Dmitry Petrov
fc754e533d
Enum classes lowering.
2016-10-18 09:09:55 +03:00
Michael Bogdanov
f30027b4de
Generate ir-accessors for interface properties
2016-10-18 09:09:53 +03:00
Mikhail Glukhikh
979f2231a1
IR to CFG: when implementation in function generator, some when tests
2016-10-18 09:09:48 +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
Dmitry Petrov
f4aee6cab5
Update testData.
2016-10-18 09:09:32 +03:00
Dmitry Petrov
663eb21990
Coerce loop body to Unit.
2016-10-18 09:09:31 +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
7ae6c55ddb
IrMemberAccessExpression::getTypeArgument
2016-10-18 09:09:28 +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
c699e2d24c
Include declaration origin in testData.
2016-10-18 09:09:19 +03:00
Dmitry Petrov
c4391ebce5
Minor: add test for suppressed error.
2016-10-18 09:09:18 +03:00
Dmitry Petrov
3fa33b5969
Fix compound assignment on arbitrary expression in LHS
...
(with a convention compound assignment operator defined).
2016-10-18 09:09:17 +03:00
Dmitry Petrov
1a3dedaf1c
Minor: add test for primary constructor default parameter values.
2016-10-18 09:09:16 +03:00
Dmitry Petrov
201d2414bc
Properties declared in primary constructors should have proper accessors in IR.
2016-10-18 09:09:15 +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
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
4e270ef487
Store file-level annotations in IrFile (should be on some descriptor, really).
2016-10-18 09:09:09 +03:00
Dmitry Petrov
e23325b014
Bound callable references.
2016-10-18 09:09:08 +03:00
Dmitry Petrov
0da4c08520
Handle unresolved break/continue expressions as error expressions.
2016-10-18 09:09:08 +03:00
Dmitry Petrov
c0ac607a1d
Additional tests for integer literal type promotion.
2016-10-18 09:09:07 +03:00
Dmitry Petrov
0c0dac4822
Some additional secondary constructor examples.
2016-10-18 09:09:07 +03:00
Dmitry Petrov
8fc16345e6
Property initializers from primary constructor parameters
...
are generated as property initializer expressions
and should not be repeated in primary constructor.
2016-10-18 09:09:06 +03:00
Dmitry Petrov
4eda19b36a
Do not generate constructors for annotation classes.
2016-10-18 09:09:04 +03:00
Dmitry Petrov
4e112b3f88
testData format update: detailed descriptor rendering.
2016-10-18 09:09:04 +03:00
Dmitry Petrov
ceeccfa1b7
Properties without accessors are generated as
...
IrGetBackingField / IrSetBackingField expressions.
2016-10-18 09:09:01 +03:00
Dmitry Petrov
513ef0c1c8
Add test for SAM adapter.
2016-10-18 09:09:00 +03:00
Dmitry Petrov
a4b9f6b215
Handle empty lambdas properly.
2016-10-18 09:09:00 +03:00
Dmitry Petrov
539d7ccf6f
Support configuration directives FULL_JDK, WITH_RUNTIME, WITH_REFLECT in Psi2Ir tests.
2016-10-18 09:08:59 +03:00
Dmitry Petrov
d623c70778
Handle break/continue in loop header (condition for 'while', range for 'for').
2016-10-18 09:08:59 +03:00
Dmitry Petrov
b3866d53cd
Handle arbitrary variable as assignment LHS
...
(e.g., conventional compound assignment for a parameter value).
2016-10-18 09:08:58 +03:00