Commit Graph

143 Commits

Author SHA1 Message Date
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
Dmitry Petrov 4cc5fb7454 Always generate temporary variables for receivers in a property compound assignment
(emulate 'resolve' behavior).
2016-10-18 09:08:57 +03:00
Dmitry Petrov 28b3ea27f3 Generate explicit call to 'Any()' if no superclass found.
Generate call super-constructor calls as IrDelegatedConstructorCall.
2016-10-18 09:08:57 +03:00
Dmitry Petrov 66f6ce7f26 --- testdata for unresolvedReference 2016-10-18 09:08:54 +03:00
Dmitry Petrov a3dadd9e3f Callable references now can have receivers and arguments
(for bound references implementation).
2016-10-18 09:08:53 +03:00
Dmitry Petrov fe397eddbe Handle erroneous code (initial drop, TBD). 2016-10-18 09:08:53 +03:00
Dmitry Petrov 3c0cce4c48 Reflection literals (no bound member references yet). 2016-10-18 09:08:52 +03:00
Dmitry Petrov 8b95992af1 Generate get/set for local delegated properties as accessor calls. 2016-10-18 09:08:51 +03:00
Dmitry Petrov f2e778d2d0 Some more tests. 2016-10-18 09:08:51 +03:00