Commit Graph

719 Commits

Author SHA1 Message Date
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
Natalia Ukhorskaya 3287744415 Add common JetElement for imports: JetImportList 2013-10-25 13:55:40 +04:00
Nikolay Krasko d23ad4f262 Process each namespace only once while reporting redeclaration errors 2013-10-23 20:43:39 +04:00
Svetlana Isakova 9fc66d686e treat function literals without value argument list
as without arguments by default
2013-10-16 20:41:21 +04:00
Svetlana Isakova ab7e3ce78c interpret block with function literal as function literal
(temporary)
2013-10-16 20:41:21 +04:00
Svetlana Isakova 73c5cb07d8 get rid of 'unwrapFromBlock'
do the logic in 'deparenthesize' method
2013-10-16 20:41:20 +04:00
Svetlana Isakova 0f444903f6 refactoring: added hasOnlyErrorsFromPosition(ConstraintPosition)
to use it for errors from completer as well
2013-10-16 20:41:19 +04:00
Svetlana Isakova 6c584fd252 do not add NO_EXPECTED_TYPE as a subtype constraint to constraint system
fixed exception from EA
2013-10-16 20:41:19 +04:00
Svetlana Isakova 0a0f76239f resolve delegated expression always using completer 2013-10-16 19:51:54 +04:00
Svetlana Isakova af930012d5 removed stored systemWithoutExpectedTypeConstraint
now we can filter out constraints of special type if necessary
2013-10-16 19:51:53 +04:00
Svetlana Isakova 65e2f47bc3 try intersection of upper bounds as a suggestion
not each bound itself
while resolving constraint system
2013-10-16 19:51:53 +04:00
Svetlana Isakova 8a4afb9330 support one more special case of propagating bound constraints
(temporary while there is no common constraint system and its resolution)
2013-10-16 19:51:53 +04:00
Svetlana Isakova cb25e1d55a if some type parameter has only weak constraints (from bounds), then we consider it as unknown 2013-10-16 19:51:53 +04:00
Svetlana Isakova de85d3df72 KT-4009 Unnecessary attempt to do a smart cast causes an error
#KT-4009 Fixed
  do not add smart casted types for vars to constraint system
2013-10-16 19:51:52 +04:00
Svetlana Isakova 9a0ec7949e fixed bug in constraint system
For parameter type T constraint T? <: Int? should NOT transform to T <: Int, it should be T <: Int?
equality constraint T? = Int? should transform to T <: Int? && T >: Int
2013-10-16 19:51:52 +04:00
Andrey Breslav f05f3f5686 Let the user know that class object bounds are not supported
KT-4080 Code analisys show all good, but got compile error

#KT-4080 Fixed
2013-10-15 14:45:22 +04:00
Evgeny Gerashchenko eb5455e89f Got rid of "jet" file extension. 2013-10-01 19:32:38 +04:00
Evgeny Gerashchenko d56c59d9d7 Removed toArray() from collections (few tests are still failing).
#KT-3352 in progress
2013-10-01 15:11:30 +04:00