Andrey Breslav
4ca90e9c68
Proper instructions for elvis operator
...
We should not mark elvis operator unused, for the rhs may have desired side-effects
2013-12-05 13:28:41 +04:00
Andrey Breslav
3629a539e4
Smoke test data fixed
2013-12-05 13:28:40 +04:00
Andrey Breslav
6df3a3042c
Properly handle the case of backing field access qualified with 'this' reference
2013-12-05 13:28:40 +04:00
Andrey Breslav
5b3bc7f839
Print instructions for functions in classes
2013-12-05 13:28:40 +04:00
Andrey Breslav
853ebe3436
Do not print trailing whitespace in test data
2013-12-05 13:28:39 +04:00
Andrey Breslav
87879ba654
Test data fixed: mark() instructions added
2013-12-05 13:28:39 +04:00
Andrey Breslav
e09d3aab3a
Test for CFA in string templates
2013-12-05 13:28:39 +04:00
Andrey Breslav
11fcd64949
Mark expressions for correct recognition by "unreachable code"
2013-12-05 13:02:17 +04:00
Andrey Breslav
6a4043c9a0
Do not display trivial sets of next/previous instructions in test data
...
For better readability of test failures
2013-12-05 13:02:17 +04:00
Andrey Breslav
e8c94a9d1d
Do not generate call for elvis + move dead code tests
2013-12-05 13:02:17 +04:00
Andrey Breslav
e0cf73d989
Do not forget to process rhs on unsupported lhs
2013-12-05 13:02:16 +04:00
Andrey Breslav
6c519bb515
Render whitespace in elements without newlines and tabs
2013-12-05 13:02:16 +04:00
Andrey Breslav
81003ba298
CFA test data updated
2013-12-05 13:02:16 +04:00
Andrey Breslav
ef194ffe23
Order fixed in assignment instructions with qualified expression on a lhs
2013-12-05 13:02:16 +04:00
Andrey Breslav
28acbcb219
Using call for set on an indexed expression in lvalue position
2013-12-05 13:02:15 +04:00
Andrey Breslav
a5854560f0
Proper order of arguments in array setter calls
2013-12-05 13:02:15 +04:00
Andrey Breslav
163e5cfbb4
Properly process this in callee position
2013-12-05 13:02:15 +04:00
Andrey Breslav
b15b075484
Tests for bug in CFA: no return in when() is now detected
2013-12-05 13:02:15 +04:00
Andrey Breslav
ec39105183
Type parameter is not an expression: no need to report 'unused expression' on it
2013-12-05 13:02:14 +04:00
Andrey Breslav
b5ae3adf77
Proper resolved calls for '=='
2013-12-05 13:02:14 +04:00
Andrey Breslav
87b6ec4990
Proper read instructions for function literals
2013-12-05 13:02:14 +04:00
Andrey Breslav
09a1736ab6
Recovery in qualified expressions
2013-12-05 13:02:06 +04:00
Andrey Breslav
1e2eb6dfa1
Special instructions added for calls and other constructs
2013-12-05 13:00:44 +04:00
Alexander Udalov
1760c3c90c
Fix test data for Char members
2013-12-04 18:35:53 +04:00
Alexander Udalov
1c3383c811
Unextend Char from Number
...
This is impossible to achieve on JVM, where java/lang/Character does not extend
java/lang/Number
2013-12-04 15:57:53 +04:00
Alexander Udalov
7af72b98fe
Resolve generic bounds of all classes prior to supertypes
2013-12-04 15:57:53 +04:00
Alexander Udalov
4ecd1a8f68
Don't fail when using Unit class object as a value
...
#KT-4243 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
fa7076a4fa
Fix ClassCastException with nullable chars
...
#KT-4210 Fixed
#KT-4098 Fixed
#KT-4251 Fixed
2013-12-04 15:57:52 +04:00
Alexander Udalov
4aa6a42483
Support codegen of empty for-loop
...
#KT-3009 Fixed
EA-35742 fixed
2013-12-04 15:19:56 +04:00
Alexander Udalov
61ff9eb45b
Support codegen of empty do-while-loop
...
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
9058272528
Support codegen of empty while-loop
...
#KT-3009 In Progress
2013-12-04 15:19:56 +04:00
Alexander Udalov
4cd4026174
Support empty if-statements
...
Type-check "if (...) ;" to Unit, report "implicit cast to Unit", propagate data
flow info out of its condition
#KT-2478 Fixed
2013-12-04 15:19:47 +04:00
Alexander Udalov
dfd660a8e3
Try to resolve expression as class object if resolution found an inappropriate result
2013-12-03 19:00:44 +04:00
Alexander Udalov
d6e1af645f
Upgrade ABI version after objects refactoring
2013-12-02 19:56:17 +04:00
Alexander Udalov
076cb07ace
Update built-ins test data after objects refactoring
2013-12-02 19:56:17 +04:00
Alexander Udalov
310a70bf84
Report a separate diagnostic on inheritance from singletons
2013-12-02 19:56:16 +04:00
Alexander Udalov
080bd42f88
Allow singletons and functions with the same name
2013-12-02 19:56:15 +04:00
Alexander Udalov
c2598faa4e
Fix class object visibility check
...
ExpressionTypingContext now has a scope for visibility checking, which isn't
replaced on replaceScope()
2013-12-02 19:56:15 +04:00
Alexander Udalov
92cdb0b6e7
Fix imports from objects
...
This almost reverts 345ecbf , since now properties are no longer created for
objects
2013-12-02 19:56:13 +04:00
Alexander Udalov
dce9fbb91c
Report a proper error on class object in enum entry or object
...
CLASS_OBJECT_NOT_ALLOWED instead of MANY_CLASS_OBJECTS
2013-12-02 19:56:13 +04:00
Alexander Udalov
2e4807856f
Don't create NamespaceType for enum entries
...
Enum entry expressions have the type of their enum, so it shouldn't be possible
to access static nested classes of enum entries from outside.
This fixes BlackBoxCodegenTestGenerated$CallableReference.testEnumNameMethod
2013-12-02 19:56:13 +04:00
Alexander Udalov
f0e230cf23
Fix test data of recursive processor and renderer
...
After object refactoring
2013-12-02 19:56:09 +04:00
Alexander Udalov
ce481b08d8
Fix CompileKotlinAgainstCustomBinariesTest
...
The two cases are almost irrelevant now that objects aren't resolved to
properties anymore
2013-12-02 19:56:08 +04:00
Alexander Udalov
42839fa061
Delete LoadKotlinCustomTest
...
It's useless now because enums are loaded the same way from binaries as well as
from sources
2013-12-02 19:56:08 +04:00
Alexander Udalov
dd290bbeb9
Create classes when deserializing enum entries
2013-12-02 19:56:07 +04:00
Alexander Udalov
bd5eee5cc2
Put enum entries into enum in lazy resolve
2013-12-02 19:56:07 +04:00
Alexander Udalov
5a4cc1e2fe
Put enum entries into enum class in JDR
2013-12-02 19:56:07 +04:00
Alexander Udalov
60e7722a82
Enum entries are put into enum class, not its class object
2013-12-02 19:56:06 +04:00
Alexander Udalov
83ef095093
Change enum entry resolution strategy in JDR
...
Enum entry is now resolved into a class with a class object, which inherits
from the former class, as in the other parts of the compiler. Create a special
class EnumEntrySyntheticClassDescriptor which will be reused in deserialization
later
2013-12-02 19:56:06 +04:00
Alexander Udalov
2967b69c4a
Update enum entry resolution strategy in lazy resolve
2013-12-02 19:56:05 +04:00