Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Denis Zharkov
e9cd9db2a7
Adjust testData after contains transformation
2015-10-09 14:40:34 +03:00
Dmitry Jemerov
7c20630272
diagnostics for deprecated syntax of function type parameter list
2015-10-06 16:20:47 +02:00
Denis Zharkov
73799e2c3c
Replace deprecated lambda syntax in testData
...
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00
Denis Zharkov
9254b1b461
Deprecate tailRecursive in favor of tailrec
2015-09-04 17:23:26 +03:00
Alexey Sedunov
df07a61a08
Control-Flow: Generate instruction for left-hand side of invalid assignments
...
#KT-8390 Fixed
2015-07-10 19:27:53 +03:00
Alexey Sedunov
b6ea2d4fd4
Control-Flow: Compute type predicates for arguments of unresolved calls
2015-05-26 19:29:04 +03:00
Alexey Sedunov
3d3b5591e1
Control-Flow: Improve debug text of ReadValueInstruction
2015-05-26 19:28:09 +03:00
Alexey Sedunov
868329e3cb
Control-Flow: Fix pseudocode generation for combined get/set and invoke conventions
...
#KT-4462 Fixed
#KT-4681 Fixed
2015-05-26 19:28:07 +03:00
Alexander Udalov
2186ce5e8d
Degrade CFG test on values of extension function type
...
Apparently type annotations ('kotlin.extension' in particular) are lost
somewhere in control-flow values processor at the moment, so types may not be
as precise as they were when functions and extension functions had different
classifiers.
This test presumably only affects IDE functionality like 'Extract Method' in a
way that it will suggest a slightly incorrect function type for the parameter
of an extracted method. An issue is to be reported and fixed later upon demand
2015-05-26 15:04:56 +03:00
Alexey Sedunov
b1f1360081
PSI: Make JetPostfixExpression.getBaseExpression() nullable
...
#KT-7761 Fixed
2015-05-21 19:29:49 +03:00
Mikhail Glukhikh
0d7f649cc2
Implementation of exhaustive whens in control flow analysis.
...
Now control flow analyzer knows when is exhaustive.
If despite of this all conditions are accidentally false, jump to error is generated.
A set of tests (diagnostic, control flow). #KT-5113 Fixed. #KT-6046 Fixed. #KT-1882 Fixed.
2015-05-18 19:44:29 +03:00
Dmitry Jemerov
4bdf598bfe
compiler testdata: s/trait/interface
2015-05-12 19:43:17 +02:00
Alexey Sedunov
c4e20b5cc1
Control-Flow: Generate mark instruction before the call/unresolved call instruction
...
#KT-7663 In Progress
2015-05-11 20:57:56 +03:00
Dmitry Jemerov
f93eeeb563
fix tests by adding missing 'init' keywords to testdata
2015-04-29 14:07:05 +02:00
Denis Zharkov
44a55e5bf6
Adjust testData to new labels syntax
2015-04-29 14:03:11 +03:00
Alexey Sedunov
d815634233
Control-Flow: Assign pseudo-values to local functions (except those
...
declared directly in the block)
2015-04-21 17:10:46 +03:00
Alexey Sedunov
5b1906fb13
Control-Flow: Add tests for pseudo-values of labeled expressions
2015-04-21 17:10:45 +03:00
Alexey Sedunov
7d278f2f42
Use class name as secondary constructor name
2015-03-18 10:56:33 +03:00
Pavel V. Talanov
06916d98c6
default -> companion: replace all mentions of default and default object
2015-03-17 15:47:39 +03:00
Stanislav Erokhin
d9882a6d0b
Move inference parameter type in FunctionDescriptorResolver
2015-03-12 17:11:52 +03:00
Alexey Sedunov
11a4cdf7ec
Control-Flow Analysis: Fix NPE for array assignments without right-hand side
...
#EA-63602 Fixed
2015-03-11 23:33:58 +03:00
Alexey Sedunov
56031cb270
Control-Flow Analysis: Fix bug in finally-block repetition in the presence of non-local returns
...
#EA-65982 Fixed
2015-03-11 23:33:57 +03:00
Denis Zharkov
7f20c4a237
Control flow changes for secondary constructors
2015-03-11 17:45:24 +03:00
Pavel V. Talanov
59f192ef90
Replace 'class object' with 'default object' in renderers and test data
...
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Andrey Breslav
0e972acf8c
== turned into a safe-call
2015-02-10 06:55:46 +01:00
Alexey Sedunov
9278dee1a4
Pseudocode: Bind nondeterministic jump caused by local declaration to declaration iself instead of its parent element
...
#KT-6261 Fixed
#KT-6416 Fixed
2015-01-19 20:58:50 +03:00
Alexander Udalov
a7b88e9485
Make CharSequence.length a function instead of property
...
And String.length as well.
This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.
A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)
#KT-3571 Fixed
2014-11-27 20:38:17 +03:00
Alexey Sedunov
a3a0edca58
Pseudocode: Drop CompilationErrorInstruction
2014-10-14 01:59:43 +04:00
Alexey Sedunov
a56c54371e
Pseudocode: Generate instructions for unresolved array assignments
2014-10-14 01:59:42 +04:00
Andrey Breslav
0cbbb6a0db
Test data fixed
2014-10-13 15:37:47 +04:00
Svetlana Isakova
f5feb3bf33
Fixed: label copies should be added to all labels
2014-09-07 01:04:01 +04:00
Svetlana Isakova
976d5ab030
Pseudocode: don't write full label name when jump on it
2014-09-07 01:04:00 +04:00
Svetlana Isakova
61dc110cc7
Report 'break or continue outside a loop'
...
for break/continue outside a loop body (e.g. in loop condition)
#KT-5724 Fixed
2014-09-07 01:03:57 +04:00
Svetlana Isakova
0b4f313b6d
Jump on 'continue' to condition entry points for all loops
2014-09-05 18:31:53 +04:00
Svetlana Isakova
3d7c22f242
Added exact label names for labels
2014-09-05 18:31:53 +04:00
Alexey Sedunov
f11621615b
Pseudocode: Do not generate VALUE_CONSUMER if property delegate has no value (EA-59276)
2014-09-05 17:39:54 +04:00
Alexey Sedunov
9fee8600cb
Pseudocode: Do not generate implicit return instruction inside of
...
Unit-typed lambdas
#KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Svetlana Isakova
4477a96ca7
Resolve operation (unary, array access) on error element instead of ignoring it
...
(to record corresponding call for later simplification in control flow)
Generate code for unmapped arguments in control flow
2014-07-30 17:14:00 +04:00
Alexey Sedunov
2a19016d58
Pseudocode: Add test for parenthesized call in selector
2014-07-28 13:07:34 +04:00
Alexey Sedunov
85bb4f9b8e
Pseudocode: Generate read instructions on call expression (instead of
...
callee)
2014-07-28 13:07:33 +04:00
Alexey Sedunov
9f3ebe5f3b
Pseudocode: Generate merge instruction regardless of number of branches
2014-07-28 13:07:32 +04:00
Alexey Sedunov
d008cb8c21
Pseudocode: Do not regenerate receiver values
2014-07-28 13:07:30 +04:00
Alexey Sedunov
77bbf8f73b
Pseudocode: Generate fake values for Unit/Nothing-typed expressions
2014-07-28 13:07:29 +04:00
Alexey Sedunov
2d3ac9109b
Pseudocode: Generate synthetic VALUE_CONSUMER for both property and class delegates
2014-07-28 13:06:46 +04:00
Alexey Sedunov
d07deeb5fb
Pseudocode: Generate UNSUPPORTED_ELEMENT for misplaced returns
2014-07-28 13:04:02 +04:00
Alexey Sedunov
b0bf11c51e
Pseudocode: Consume value of true condition in while-loop
2014-07-28 13:04:01 +04:00
Alexey Sedunov
e11ffb8542
Pseudocode: Replace UnsupportedElementInstruction with UNSUPPORTED_ELEMENT magic.
...
Generate UNSUPPORTED_ELEMENT for assignments with unresolved left-han side
2014-07-28 13:04:00 +04:00
Alexey Sedunov
c32d112e67
Pseudocode: Generate magics for cast expressions
2014-07-28 13:03:12 +04:00
Alexey Sedunov
ffd4af872c
Pseudocode: Track merged values. Compute closure of value usages over merge instructions. Exclude merge instructions from usage lists
2014-07-28 13:03:09 +04:00