Commit Graph

4774 Commits

Author SHA1 Message Date
Svetlana Isakova bb003d2b2f rename ResolveMode to ResolveArgumentsMode 2013-02-08 15:10:41 +04:00
Svetlana Isakova 09e4625931 added TypeInfoForCall containing CallCandidateResolutionContext
(to save context and complete type inference for call later)
2013-02-08 15:10:41 +04:00
Svetlana Isakova 779a79d4d2 removed unused type parameter from CallCandidateResolutionContext 2013-02-08 15:10:41 +04:00
Svetlana Isakova 3ef640039b separated addition of constraints for function literals(*) and for expected type
* = which argument types are known
  call with these function literal constraints is cached
2013-02-08 15:10:41 +04:00
Svetlana Isakova 9b2c666c1f analyze function literals only if argument types are known
(through the first phase of overload resolution)
use intercepting type mismatch trace to backtrace expected type errors
2013-02-08 15:10:41 +04:00
Svetlana Isakova e932b4fa62 moved 'makeTraceInterceptingTypeMismatch' to ExpressionTypingUtils 2013-02-08 15:10:41 +04:00
Svetlana Isakova ecd64e80d8 use CallExpressionResolver directly from ArgumentTypeResolver 2013-02-08 15:10:41 +04:00
Svetlana Isakova 9f28764811 do not repeat initialization of candidate call if the context is copied 2013-02-08 15:10:40 +04:00
Svetlana Isakova e8e07ecec1 contexts moved to subpackage 2013-02-08 15:10:40 +04:00
Svetlana Isakova 0c07cb70ca BasicResolutionContext renamed to BasicCallResolutionContext 2013-02-08 15:10:40 +04:00
Svetlana Isakova dcd358bf3a introduced common supertype for contexts (ResolutionContext) 2013-02-08 15:10:40 +04:00
Svetlana Isakova 2d9f147dbc rename ResolutionContext to CallResolutionContext
introduced ResolutionContext (without call)
2013-02-08 15:10:40 +04:00
Svetlana Isakova 87a6be6749 rename CallResolutionContext to CallCandidateResolutionContext 2013-02-08 15:10:40 +04:00
Svetlana Isakova 97e1f0ba3c added 'namespacesAllowed' flag to ResolutionContext 2013-02-08 15:10:40 +04:00
Svetlana Isakova 5cc6af0f54 moved getStaticNestedClassesScope to DescriptorUtils 2013-02-08 15:10:40 +04:00
Svetlana Isakova 170a3ad718 getQualifiedExpressionTypeInfo moved to CallExpressionResolver
CallExpressionResolver made a component
2013-02-08 15:10:40 +04:00
Svetlana Isakova 664e25d113 added CallExpressionResolver
call expression resolution logic moved there (from BasicExpressionTypingVisitor)
2013-02-08 15:10:40 +04:00
Svetlana Isakova e739fd936e added dataFlowInfo to resolvedCall
(to use it information later without repeating 'getTypeInfo' from cache)
=> getResolvedCallForFunction and getVariableType made static
2013-02-08 15:10:40 +04:00
Svetlana Isakova fa97770831 extracted method commitResolutionCacheData
commit resolve data after argument analysis with temporary trace
2013-02-08 15:10:40 +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 677bc55056 refactoring: changed the order of the parameters 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
Svetlana Isakova b2823c5966 render type correctly in html for TYPE_INFERENCE_UPPER_BOUND_VIOLATED error 2013-02-08 15:10:39 +04:00
Alexander Udalov dfc45cc21e Fix Android codegen tests 2013-02-07 22:42:17 +04:00
Evgeny Gerashchenko d60c495995 Extracting test name from regex matcher. 2013-02-07 21:39:22 +04:00
Evgeny Gerashchenko e65ca47d98 Regenerated tests. 2013-02-07 21:39:22 +04:00
Evgeny Gerashchenko 3cf2289687 Matching test files by regex instead of extension. 2013-02-07 21:39:22 +04:00
Andrey Breslav 0234d0afc8 Test data fixed 2013-02-07 18:22:09 +04:00
max-kammerer 843991083d For namespaces with multiple files keep 'Compiled from' information empty 2013-02-07 18:00:53 +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
Natalia.Ukhorskaya 091399aa4b Android: add tests with java to excluded tests 2013-02-07 14:33:23 +04:00
Natalia.Ukhorskaya 1749e3298c Method from java overridden in kotlin should have kotlin visibility 2013-02-06 21:54:22 +04:00
Natalia.Ukhorskaya 55d4599b3b Add toString methods for visibilities from java 2013-02-06 21:54:21 +04:00
Natalia.Ukhorskaya 11273f3035 Implement package protected visibility 2013-02-06 21:54:19 +04:00
Natalia.Ukhorskaya 88e3b9e190 Add codegen tests for package visibility 2013-02-06 21:54:18 +04:00
Natalia.Ukhorskaya 2862d13cb1 Change tooltip message for protected static methods from java 2013-02-06 21:54:17 +04:00
Alexander Udalov 64bc79aaac Fix safe calls codegen for nullable generic 2013-02-06 17:54:30 +04:00
Alexander Udalov 433660b2ce Fix codegen of !! for nullable generics 2013-02-06 17:54:29 +04:00
Alexander Udalov 75f09b7527 Fix codegen of as-casts for nullable generics 2013-02-06 17:54:28 +04:00
Alexander Udalov 70f67c7993 Fix elvis expression in case of nullable generic 2013-02-06 17:54:27 +04:00
Alexander Udalov 8697adb28a Fix generic data class hashCode for null
Null may come from everywhere, so we always check for it (when the property's
type is not primitive)
2013-02-06 17:54:26 +04:00
Alexander Udalov 1021ec5ff4 Add Intrinsics.areEqual()
It's more safe, short and less error-prone (especially w.r.t. nullability of
generic types)
2013-02-06 17:54:26 +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
Leonid Shalupov bf33dd4091 Merge remote-tracking branch 'remotes/origin/remote-run/shalupov' 2013-02-06 14:00:02 +04:00
Leonid Shalupov a6468bdff1 fix tests 2013-02-06 13:16:38 +04:00
Alexander Udalov 1f4dd8cd33 Add CodegenUtil.isNullableType(), fix assertions
JetType.isNullable() is not accurate when the type denotes a type parameter:
a parameter can be not null (isNullable=false), but its upper bound can be
nullable (<T: Any?>), so null may appear in the value of such type. Therefore
it's preferred to use a special check (isNullableType()) in codegen from now on

Do not generate assertion for parameters of not-null types which have a
nullable upper bound + the same with Java method calls

Also fix Intrinsics class internal name in tests

 #KT-3313 Fixed
2013-02-05 21:52:29 +04:00
Andrey Breslav c296cbf6d1 Optimize super-interfaces 2013-02-05 21:34:09 +04:00
Andrey Breslav 2ae3dad92f Extract interface: PropertySetterDescriptor 2013-02-05 20:48:18 +04:00