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
4fc135709e
Inner classes lowering: remap old constructor parameters.
2016-10-21 10:05:41 +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
Dmitry Petrov
fb5298237a
Shared variables lowering.
2016-10-18 09:10:16 +03:00
Dmitry Petrov
fedfd3de16
Suggest names for captured receivers.
2016-10-18 09:10:15 +03:00
Michael Bogdanov
b72d7557d1
KClassJavaProperty support
2016-10-18 09:10:13 +03:00
Dmitry Petrov
5ee2f87c4a
Closure conversion: simple tests work.
2016-10-18 09:10:12 +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
f423369327
Objects (singletons) lowering.
2016-10-18 09:09:56 +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
Dmitry Petrov
7950235df3
Lowering for constructors & initializers.
2016-10-18 09:09:52 +03:00
Mikhail Glukhikh
07eae1d206
IR to CFG: type operator unrolling
2016-10-18 09:09:50 +03:00
Mikhail Glukhikh
ea13386d0b
IR to CFG: member access unrolling
2016-10-18 09:09:50 +03:00
Mikhail Glukhikh
5a04c72e75
Break / continue implementation, test with break / continue, related changes in loop & loop tests
2016-10-18 09:09:49 +03:00
Mikhail Glukhikh
e03e13af43
Do..while loop implementation and first test
2016-10-18 09:09:49 +03:00
Mikhail Glukhikh
bcf2b410ba
While loop implementation && first loop test
2016-10-18 09:09:48 +03:00
Mikhail Glukhikh
979f2231a1
IR to CFG: when implementation in function generator, some when tests
2016-10-18 09:09:48 +03:00
Mikhail Glukhikh
eaf10a4675
IR to CFG test generator, sequential function tests
2016-10-18 09:09:47 +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