7886 Commits

Author SHA1 Message Date
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
Mikhael Bogdanov 4079735bf2 Diagnostic for nullable parameter of Function type 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov d11311ec20 Test compilation fix 2013-12-02 18:30:42 +04:00
Mikhael Bogdanov eb3edeb527 Nothing to inline diagnostic 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov f7c62fe631 Checking modality and visibility of inline function 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov 87e66a6e57 Diagnostric for default 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov 7329a7a9ef Diagnostic for vararg parameters 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov 558687f20f Inline visibility checking 2013-12-02 18:28:24 +04:00
Mikhael Bogdanov c89c465fec Diagnostics for wrong inlinable usage 2013-12-02 18:28:24 +04:00
svtk b178c79573 analyze function arguments after completion for unresolved and ambiguity cases 2013-11-27 14:26:36 +04:00
svtk 1bfca62592 Fixed: analyze unmapped (or with no callee) functional arguments with right context. 2013-11-22 18:58:02 +04:00
svtk ae3331717e Fixed: unmapped arguments should be completed as well. 2013-11-22 18:58:02 +04:00
svtk 058726a0f1 Check function arguments of nested unsuccessful calls. 2013-11-22 18:58:02 +04:00
svtk 1a34dffb1f Fixed inference in a simple case.
Try number lower bounds before upper bounds when computing a value.
2013-11-22 18:58:01 +04:00
svtk 9d3a7804cc Fixed tests for labels.
The bug was automatically fixed by previous commit.
2013-11-22 18:58:01 +04:00
svtk ca1650d31d Fixed exception from EA
"The constraint shouldn't contain different type variables on both sides: T <: R".
It occurred because we analyzed function literals before completion with unsubstituted (therefore wrong) expected type, and cached resulting type.
2013-11-22 18:58:01 +04:00
svtk 2bd4aa97c6 KT-4204 ConstraintSystem erased after resolution completion
#KT-4204 Fixed
2013-11-22 18:57:59 +04:00
svtk c1ec8cbde9 check Nothing type for all expressions not only for calls and simple names
(but excluding statement expressions)
2013-11-22 18:57:58 +04:00
Andrey Breslav 345ecbf4c0 Never import object descriptors, for they may overwrite corresponding vals 2013-11-21 13:07:39 +04:00
Alexander Udalov 6f31692996 Import nested classes both from classes and their class objects
It seems that this incorrect behaviour was introduced in 726bcb5
2013-11-18 19:51:29 +04:00
Alexander Udalov e2622b5dbb Resolve extension calls on class objects
#KT-3470 Fixed
2013-11-18 19:51:29 +04:00
Alexander Udalov 838c408e68 LHS of qualified expressions are determined manually
ExpressionPosition is useless now and will be dropped

 #KT-3866 Fixed
2013-11-18 19:51:28 +04:00
Alexander Udalov e8089cc461 Synthetic class object of enum should always be public
#KT-2834 Fixed
2013-11-18 19:46:01 +04:00
Andrey Breslav 38b38e7b6d KT-4198 On covariant projection, do not throw whole var's away
#KT-4198 Fixed
2013-11-18 18:30:41 +04:00
Andrey Breslav c0fce6becd KT-4209 Make constructors of primitives private
#KT-4209 Fixed
2013-11-18 15:09:56 +04:00
Alexander Udalov 776b5d0a6e Minor, move enum diagnostic tests, add another test 2013-11-14 19:11:20 +04:00
Alexander Udalov 8c3f9149ac Add a test on extension function to object 2013-11-14 19:11:20 +04:00
Alexander Udalov 29f3c4a1a0 Report upper bounds violation for objects, not only classes 2013-11-14 19:11:18 +04:00
Alexander Udalov 57aa355b05 Report INVISIBLE_MEMBER on private class object usage 2013-11-14 19:10:18 +04:00
Alexander Udalov 94deb21551 Minor, move diagnostic tests for class objects 2013-11-14 17:45:57 +04:00
svtk 64e12398af comment added to tests 2013-11-08 16:33:41 +04:00
svtk 95ef417ee8 KT-4170 Compiler hangs (or works too long)
#KT-4170 Fixed
2013-11-08 16:33:41 +04:00
Andrey Breslav 70acf0fdba Test for an obsolete issue
#KT-2956 Obsolete
2013-10-25 19:55:42 +04:00