Natalia Ukhorskaya
7a9d822070
'As' function for constants
2013-12-17 15:00:30 +04:00
Svetlana Isakova
4c41d19eb1
interpret class in class object as static nested class
...
removed hack in TaskPrioritizer for import class from class object
2013-12-16 16:24:21 +04:00
Alexander Udalov
9e5c68a8f9
Fix KotlinBuiltIns.isUnit
...
It didn't check type's nullability
2013-12-12 21:38:20 +04:00
Svetlana Isakova
cc3f450132
added test for obsolete task
...
#KT-2336 Fixed
2013-12-11 19:53:52 +04:00
Svetlana Isakova
4d39dc38da
fixed: smart cast of boolean variable didn't work in boolean expression
2013-12-11 19:53:52 +04:00
Svetlana Isakova
cd6934bee8
fixed bug in 'DataFlowInfo.getPossibleTypes'
...
parent types should be enriched as well
2013-12-11 19:53:51 +04:00
Svetlana Isakova
4a26c9df04
don't report autocast on left expression in equality
...
if it was checked for not-null beforehand
2013-12-11 19:53:51 +04:00
Svetlana Isakova
4b89c22ba7
Check separately auto casts for nullable types.
...
It's necessary for functions with generics: constraint system ignores nullability divergence,
the error checks are made afterwards, the auto cast check should be made similarly.
2013-12-11 19:53:51 +04:00
Svetlana Isakova
41f2fcbb40
while resolve 'equals' as a fake call do not throw away temporary trace
2013-12-11 19:53:51 +04:00
Svetlana Isakova
ab1d27dd6b
don't use data flow info while checking for receiver
...
receiver with smart cast is checked separately
2013-12-11 19:53:50 +04:00
Svetlana Isakova
46b77f4472
don't report unnecessary smart cast on receiver
2013-12-11 19:53:50 +04:00
Svetlana Isakova
33c04bde9a
changed tests where autocasts aren't needed but are reported
...
due to KT-4294
2013-12-11 19:53:50 +04:00
Svetlana Isakova
c30259dfbe
added info about smart casts to diagnostic tests
2013-12-11 19:53:50 +04:00
Andrey Breslav
71be3bcec5
All tests for TCO moved to box (with diagnostics marked up)
2013-12-06 11:29:28 +04:00
Andrey Breslav
bb6ceffbbb
Missing tests added
2013-12-06 00:27:31 +04:00
Andrey Breslav
fe00b03279
Rename directory for diagnostic tests
2013-12-05 23:53:07 +04:00
Sergey Mashkov
1c81102941
Tail-call detection support in the front-end
2013-12-05 23:53:05 +04:00
Svetlana Isakova
8e27877817
check definite return in local functions
2013-12-05 15:51:57 +04:00
Svetlana Isakova
d27c8b7d61
added test for obsolete task
...
#KT-4034 Fixed
2013-12-05 15:51:57 +04:00
Natalia Ukhorskaya
27e602133d
Small fixes after review: do not set is_pure=true for named constants refactoring
2013-12-05 15:23:41 +04:00
Natalia Ukhorskaya
e5a3518248
Parse longs with 'L' suffix. Report error if 'l' used.
2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya
b6ce6c5e5a
Parse floats with 'F' or 'f' suffix
2013-12-05 15:22:01 +04:00
Natalia Ukhorskaya
e805478d6c
Get call expression type from compile time value if possible
2013-12-05 15:22:00 +04:00
Natalia Ukhorskaya
53a5264aaf
Use type from compile time value for binary expression
2013-12-05 15:21:58 +04:00
Natalia Ukhorskaya
2a023c16a9
Use type from compile time value for prefix expression
2013-12-05 15:21:55 +04:00
Natalia Ukhorskaya
9c176ddaa8
Warning for integer overflow
2013-12-05 15:21:55 +04:00
Natalia Ukhorskaya
d63f6843c8
Merge ConstantExpressionEvaluator and CompileTimeConstantResolver
2013-12-05 15:21:50 +04:00
Andrey Breslav
9efa604cff
Revert 4ca90e9c68
2013-12-05 14:04:50 +04:00
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
6df3a3042c
Properly handle the case of backing field access qualified with 'this' reference
2013-12-05 13:28:40 +04:00
Andrey Breslav
11fcd64949
Mark expressions for correct recognition by "unreachable code"
2013-12-05 13:02:17 +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
1e2eb6dfa1
Special instructions added for calls and other constructs
2013-12-05 13:00:44 +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
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
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
Mikhael Bogdanov
606b3aa4a9
Test for local fun
2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
59dbf75d80
Added test for sam
2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
712dcaac91
Added tests for && and ||
2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
0b2c3efc40
Inline recursion diagnostic
2013-12-02 18:30:43 +04:00
Mikhael Bogdanov
621a4002e4
Binary and unary expression support
2013-12-02 18:30:42 +04:00
Mikhael Bogdanov
1391676281
Support parenthesized, typed and labeled expressions
2013-12-02 18:30:42 +04:00