Ilya Chernikov
c29332e290
Regenerate tests
2019-02-15 13:15:47 +01:00
Ilmir Usmanov
d269ff8ac8
Update test data
2019-02-14 18:33:20 +03:00
Ilmir Usmanov
19d2262cf1
Generate call of throwOnFailure instead of manual check
...
whether coroutine is resumed with exception.
#KT-28015 Fixed
2019-02-14 18:33:17 +03:00
Dmitry Petrov
6aff53204f
psi2ir: support dynamic infix calls ('foo bar 42' is 'foo.bar(42)')
2019-02-14 16:03:11 +03:00
Dmitry Petrov
740d5ec468
Mute some tests in JS_IR after adding basic dynamic expressions support
2019-02-14 16:03:11 +03:00
Dmitry Petrov
77cbd10f9c
psi2ir: don't generate temporaries in dynamic array augmented assignment
...
In constructs such as 'd[i] += x', where both indexed get and indexed
set are dynamic calls, it's safe to generate augmented assignment body
directly, without temporary variables for array ('d') and index ('i').
Note that corresponding IntermediateValue's are OnceExpressionValue's,
which would throw an exception if this assumption is violated.
2019-02-14 16:03:11 +03:00
Dmitry Petrov
580eb6fcac
JS_IR: support dynamic expressions in block decomposition
2019-02-14 16:03:11 +03:00
Dmitry Petrov
03c35a4f44
JS_IR: support dynamic expressions in JS tree generation
2019-02-14 16:03:11 +03:00
Dmitry Petrov
4cee8c6f00
Minor: fix IrDynamicOperatorExpressionImpl double dispatch methods
2019-02-14 16:03:11 +03:00
Dmitry Petrov
5b4b22a8b6
psi2ir: additional tests for dynamic expressions: '?:', '!!'
2019-02-14 16:03:11 +03:00
Dmitry Petrov
83b2fed5be
psi2ir: minor: drop unused import
2019-02-14 16:03:11 +03:00
Dmitry Petrov
6889e470d1
psi2ir: minor: move array access generation code
2019-02-14 16:03:11 +03:00
Dmitry Petrov
50269d3a5c
psi2ir: minor: simplify code for dynamic array element assignment
2019-02-14 16:03:11 +03:00
Dmitry Petrov
cf29dce4c2
pri2ir: dynamic unary & binary expressions
...
NB1 Not every dynamic unary or binary expression is translated to
dynamic operator expressions literally. For example, assignments and
increments can have safe calls in LHS, which require some extra logic.
NB2 There are some open design questions left regarding how dynamic
expressions should actually be translated.
2019-02-14 16:03:11 +03:00
Dmitry Petrov
82701de87b
psi2ir: minor: drop some unused params/imports
2019-02-14 16:03:11 +03:00
Dmitry Petrov
fbbe4f6e92
psi2ir: dynamic array element get/set
2019-02-14 16:03:11 +03:00
Dmitry Petrov
9a2bd5f4e6
psi2ir: dynamic member simple assignment/augmented assignment/++/--
2019-02-14 16:03:11 +03:00
Dmitry Petrov
fc76d0970b
psi2ir: Implicit casts with 'dynamic'
2019-02-14 16:03:11 +03:00
Dmitry Petrov
3c8f52b436
psi2ir: simple dynamic member calls
2019-02-14 16:03:11 +03:00
Dmitry Petrov
ddb1ea2047
psi2ir: dynamic member access ('d.x', 'd?.x')
2019-02-14 16:03:11 +03:00
Dmitry Petrov
6e7ccfbfff
Introduce IrDynamicExpression and children
...
Dynamic expressions are represented as either operator expressions -
e.g., `d1 + d2`, `d[e]`, `d(e1, e2, e3)`, `d += e` -
where "operator" is a one of the known operators,
or as member reference expressions - e.g., `d.memberName` - where
member name is some arbitrary name (unresolved at compile-time and
represented as String).
2019-02-14 16:03:11 +03:00
Anton Bannykh
4b39e2df12
JS: (review fix) Header -> InlineData
2019-02-14 15:14:28 +03:00
Anton Bannykh
6e74c4ce71
JS: switch off the validator until class translation is fixed
2019-02-14 15:14:28 +03:00
Anton Bannykh
d7499363bc
JS: review fixes
2019-02-14 15:14:28 +03:00
Anton Bannykh
21cbc7b018
JS: add incremental test for local declarations change
2019-02-14 15:14:28 +03:00
Anton Bannykh
299a45ccbf
JS: validate AST when serializing to IC cache
2019-02-14 15:14:28 +03:00
Anton Bannykh
a0ff581a2f
JS: refactoring
2019-02-14 15:14:28 +03:00
Anton Bannykh
6d26bf9622
JS: don't load binary AST unless required by the inliner
2019-02-14 15:14:28 +03:00
Anton Bannykh
3529114913
JS: incremental translation of tests and main fun invocation
2019-02-14 15:14:28 +03:00
Toshiaki Kameyama
d583c1be58
Can be replaced with binary operator: do not suggest when receiver or argument is floating point type
...
#KT-28596 Fixed
2019-02-14 15:10:26 +03:00
victor.petukhov
2bcdadf17f
Add positive diagnostic tests for smartcasts from nullability condition using if expression
2019-02-14 13:11:14 +03:00
victor.petukhov
06b5a42d0d
Improve test exceptions fixation:
...
- exceptions is analyzed if it's specified explicitly only,
- compute test case number for diagnostic tests in which an exception is thrown.
2019-02-14 12:31:43 +03:00
victor.petukhov
317da3d481
Add NOTE and UNSPECIFIED BEHAVIOUR fields to spec tests
2019-02-14 12:31:43 +03:00
victor.petukhov
ec8a6cbe9c
Alphabetical sort wrapped intersection types for rendered diagnostics
2019-02-14 12:31:43 +03:00
victor.petukhov
acd6d354dc
Support several spec places to which tests are linked and require specify spec version for each test
2019-02-14 12:31:43 +03:00
victor.petukhov
cb5f497cbe
Alphabetical sort wrapped intersection types for rendered diagnostics
2019-02-14 12:31:42 +03:00
victor.petukhov
30762a450a
Wrap diagnostic parameters to double quotes and split by comma instead of semicolon
2019-02-14 12:31:42 +03:00
victor.petukhov
46bd5ba107
Add alphabetical sorting diagnostics with same ranges
2019-02-14 12:31:42 +03:00
victor.petukhov
fad59e200c
Code stylistic improvements in BaseDiagnosticTest
2019-02-14 12:31:42 +03:00
victor.petukhov
b354518a41
Add lazy debug diagnostic DEBUG_INFO_EXPRESSION_TYPE
2019-02-14 12:31:42 +03:00
victor.petukhov
f92232f015
Decompose and rewrite CheckerTestUtil to Kotlin
2019-02-14 12:31:42 +03:00
victor.petukhov
9e06e1eec0
Move and rename into .kt files around CheckerTestUtil for rewrite to Kotlin
2019-02-14 12:31:42 +03:00
victor.petukhov
8a9c7a69f3
Move checkType directives for tests to separate folder
2019-02-14 12:31:42 +03:00
Ilmir Usmanov
440cccae73
Loosen tail call check
...
Check that any source of ARETURN is inside a suspension point, not all
of them.
#KT-27190 Fixed
2019-02-14 12:21:44 +03:00
Denis Zharkov
abad408d7b
Do not implicitly propagate deprecations originated in Java
...
^KT-29604 Fixed
2019-02-13 16:21:05 +03:00
Ilya Chernikov
4d0261fc45
Fix parsing tests
2019-02-12 21:02:56 +01:00
Alexey Tsvetkov
dbdc7a5b07
Add verbose mode to build reports
...
#KT-12700
Verbose mode can be enabled by adding `kotlin.build.report.verbose=true`
to `gradle.properties` file.
2019-02-12 22:10:11 +03:00
Alexey Tsvetkov
01c23510c7
Print recompilation reasons in build report
2019-02-12 22:10:11 +03:00
Alexey Tsvetkov
47bb938b94
Adjust build report verbosity
2019-02-12 22:10:11 +03:00
Alexey Tsvetkov
98ef00b957
Add build reports for diagnosing build problems in Gradle
...
#KT-12700 Fixed
To turn build reports, add 'kotlin.build.report.enable=true' to
gradle.properties file
(or pass it in CLI via`-Pkotlin.build.report.enable=true`).
By default build reports are created in
`rootProject/build/reports/kotlin-build`.
Build report dir can be customized via `kotlin.build.report.dir`
property.
2019-02-12 22:10:11 +03:00