Commit Graph

778 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 513a59d552 Check annotations on anonymous intializers
#KT-2208 Fixed
2013-12-23 13:45:57 +04:00
Natalia Ukhorskaya 359f2ddbda Prohibit instantiation of annotation classes
#KT-3465 Fixed
2013-12-23 13:45:57 +04:00
Svetlana Isakova c9f3f9ca1f added position strategy to NOTHING_TO_INLINE error 2013-12-19 22:28:47 +04:00
Svetlana Isakova cfb7bcb73b use smart cast info while adding constraint for receiver 2013-12-19 22:05:52 +04:00
Svetlana Isakova dd6940be41 added CHECK_TYPE directive to diagnostic tests 2013-12-19 13:01:05 +04:00
Natalia Ukhorskaya 145c7811a8 Named vararg arguments: don't allow to use array without spread, allow to use one value of vararg type
#KT-3802 Fixed
2013-12-18 15:13:52 +04:00
Evgeny Gerashchenko 212d303c7b Modified test checking visibility of class objects. 2013-12-17 20:28:55 +04:00
Svetlana Isakova 26f66eaea5 fixed INACCESSIBLE_OUTER_CLASS_EXPRESSION check
for extension lambda (with implicit this) in nested class
2013-12-17 19:04:41 +04:00
Svetlana Isakova 400e6d3f44 KT-4310 Check for definite returns
#KT-4310 Fixed
2013-12-17 19:04:40 +04:00
Natalia Ukhorskaya 31ad4f8451 Annotation parameter must be constant 2013-12-17 15:41:24 +04:00
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