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