Commit Graph

533 Commits

Author SHA1 Message Date
Evgeny Gerashchenko b1cb8edd18 KT-3181 Prohibit val/var keywords for function parameters
#KT-3181
2013-02-13 18:08:36 +04:00
Evgeny Gerashchenko 808dbd160c KT-3182 Prohibit val/var keywords at for-loop counter.
#KT-3182 fixed
2013-02-13 18:08:36 +04:00
Andrey Breslav 109c47645b Make sure that the class object class is not accessible from Kotlin 2013-02-11 16:20:32 +04:00
Nikolay Krasko 9dedc6d2a9 KT-1998 Strange "Overload resolution ambiguity"
#KT-1998 Fixed
2013-02-11 16:09:24 +04:00
Nikolay Krasko 54ae3afcde KT-880 Overload resolution ambiguity
#KT-880 Fixed
2013-02-11 16:09:23 +04:00
Svetlana Isakova ff4a9fdab3 rename
ResolveMode enum to {TOP_LEVEL_CALL, NESTED_CALL}
 completeValueArgumentsInference to completeNestedCallsInference
2013-02-08 15:10:43 +04:00
Svetlana Isakova 27e6dad307 test improved 2013-02-08 15:10:43 +04:00
Svetlana Isakova db91928984 test fixes after refactorings
expected return type for function literal cannot depend on expected type of outer function
2013-02-08 15:10:43 +04:00
Svetlana Isakova d447c90b13 added tests for function literals faster resolve 2013-02-08 15:10:42 +04:00
Svetlana Isakova 3eee19578a complete inference for inner calls after resolve&inference of outer call finishes
deferredComputationsForArguments stored in ResolvedCallImpl,
'completeValueArgumentsInference' completes inference for inner calls recursively
2013-02-08 15:10:42 +04:00
Svetlana Isakova ff01fad3cd substitute upper bounds after creating all substitutions for type parameters
(otherwise it doesn't work for forward references)
2013-02-08 15:10:40 +04:00
Svetlana Isakova 8f59172f27 use declared upper bounds in type inference (not just check them)
- simple cases supported
#KT-2856 fixed
2013-02-08 15:10:39 +04:00
Svetlana Isakova da4f1aec1d KT-422 Tune literal typing rules so that varargs overloaded by primitive types work
#KT-422 fixed
2013-02-08 15:10:39 +04:00
Andrey Breslav 0b4b87fc3a KT-3307 Compiler exception trying to call Java method
#KT-3307 Fixed
2013-02-07 16:44:13 +04:00
max-kammerer 41b379497d revert of 59ede8b 2013-02-06 14:33:19 +04:00
max-kammerer 59ede8b979 Test for KT-2763 2013-02-06 14:15:24 +04:00
Alexander Udalov 7716feee71 Fix NPE in JetPsiUtil (EA-43298) 2013-02-04 15:27:30 +04:00
Nikolay Krasko ee227f01b9 Add test for checking ambiguity for root package and the same package 2013-02-04 14:23:21 +04:00
Nikolay Krasko f2e78d9064 Create scope with lazy import resolve 2013-02-04 14:23:21 +04:00
Andrey Breslav bbde38a6dc KT-1360 Vararg bug in front-end 2013-01-31 18:54:37 +04:00
Andrey Breslav 2d2c44ca9d KT-2106 Mixed named and positional arguments should be allowed
#KT-2106 Fixed
2013-01-31 15:43:14 +04:00
Svetlana Isakova ba9c455ea1 KT-3301 Inference with several supertypes fails
#KT-3301 fixed
2013-01-30 20:29:30 +04:00
Evgeny Gerashchenko 65f1a8f430 Added test with number literals passed as constants. 2013-01-28 18:29:21 +04:00
Evgeny Gerashchenko 18b5495a8c KT-1895 Make it possible to pass 1.0 as Float without explicit casting
#KT-1895 fixed
2013-01-28 18:29:21 +04:00
Alexander Udalov a0a22b7be6 Outer's superclass' method is now inaccessible from nested
Also the diagnostic error message reported the wrong nested class name: it
should be the nested class in the hierarchy which is static, not the class of
the scope where we're checking the accessibility
2013-01-23 20:18:16 +04:00
Kirill Berezin e89a8c684f KT-3159 Disallow overriding var with different type #KT-3159 fixed 2013-01-21 15:42:39 -08:00
Jack Zhou 2f47e30a1a Fixed UnsupportedOperationException when a namespace is used in place of an expression. 2013-01-21 13:10:19 +04:00
Alexander Udalov 8dff523858 Add some regression tests for obsolete issues
Regenerate tests
2013-01-17 17:38:46 +04:00
Alexander Udalov 192a81591b Resolve qualified nested class expressions
lookupNamespaceType now returns NamespaceType of a scope not only of the
namespace found by name, but also of the classifier static classes scope found
by the same name. This allows correct resolution of expressions
"Class.Nested.member()", where Class comes from Java (previously it was
resolved into a NamespaceDescriptor with a NamespaceType).

NamespaceDescriptor.getNamespaceType() is deleted since there are no sense in
namespace's NamespaceType alone anymore.

Also some minor refactoring (referencedName param is useless)

 #KT-1174 In Progress
2013-01-16 23:11:50 +04:00
Alexander Udalov c4b5577555 Do not report NO_CLASS_OBJECT when namespacesAllowed=true
Now with nested classes the expression "A.something" makes sense even when A
doesn't have a class object ("something" could be a nested class)

Also "A" expression now gets a NamespaceType with the scope of all static
nested classes of A

 #KT-1174 In Progress
2013-01-16 23:11:50 +04:00
Alexander Udalov 051e94b1c5 Get rid of MutableClassDescriptorLite.isStatic()
isStatic() is now precisely !isInner()
2013-01-16 23:11:48 +04:00
Alexander Udalov b612989eb0 Remove 'inner enum' hack & fix Java inner class resolve
Inner enum was placed into the class object of the outer class. Remove the
hack from frontend, frontend.java & backend. Fix tests

 #KT-1174 In Progress
2013-01-16 23:11:47 +04:00
Alexander Udalov 0b51a6cae0 Disallow nested classes within inner & local classes
#KT-1174 In Progress
2013-01-16 23:11:45 +04:00
Alexander Udalov a0caa88adf Report ILLEGAL_MODIFIER on inappropriate 'inner' keyword usage
#KT-1174 In Progress
2013-01-16 23:11:44 +04:00
Alexander Udalov 0a1907de11 Check all modifiers for objects
DeclarationsChecker didn't check visibility modifiers for objects
2013-01-16 23:11:43 +04:00
Alexander Udalov 7a3000ccac Forbid usage of outer's generic parameter in nested class
#KT-1174 In Progress
2013-01-16 23:11:42 +04:00
Alexander Udalov 43c37398af Labeled this & super to nested class' outer is an error
#KT-1174 In Progress
2013-01-16 23:11:42 +04:00
Alexander Udalov 5d92453532 Inaccessible outer class member is now an error
#KT-1174 In Progress
2013-01-16 23:11:41 +04:00
Evgeny Gerashchenko 6574eca393 Fixed test after introducing new warning. 2013-01-16 15:58:02 +04:00
Vladimir Rudev 290681ceee KT-614 Emit a warning when non-null type is checked for instance of nullable type
#KT-614 Fixed
2013-01-15 23:44:20 +04:00
Andrey Breslav 1a03850951 A test for K-J-K inheritance with generics 2013-01-15 15:32:04 +04:00
Andrey Breslav d4854c22c4 A test for K-J-K inheritance 2013-01-15 15:32:04 +04:00
Andrey Breslav 9d538dad8a EA-36903 - ISE: JavaTypeTransformer$.visitClassType Fixed 2013-01-10 16:16:49 +04:00
Svetlana Isakova 33a82da493 supertype of error type should be an error type, not any 2013-01-10 15:55:50 +04:00
Svetlana Isakova 142d9a090c no senseless comparison for error type 2013-01-10 15:55:50 +04:00
Pavel V. Talanov 293b272a22 Fix for a problem where inner (or nested) classes were not analyzed in some situations
# KT-3124 Fixed
2013-01-09 18:38:58 +04:00
Svetlana Isakova 0b53bd25bd KT-2397 Prohibit final methods in traits with no implementation
#KT-2397 fixed
2012-12-29 20:08:10 +04:00
Svetlana Isakova 55968aabad fixed an exception from 'getConstructorReferenceExpression'
(from exception analyzer)
2012-12-29 20:08:10 +04:00
Svetlana Isakova 22d3adc89f KT-3184 Type inference seems partially broken
#KT-3184 fixed
2012-12-27 18:45:24 +04:00
Svetlana Isakova 70cde87052 checking subtype for invariant type with error generic argument may success 2012-12-26 18:58:57 +04:00