Svetlana Isakova
3f37fe49a8
no @Nullable tracing in parameters
2012-07-20 19:34:54 +04:00
Svetlana Isakova
4ca18b2fb6
rename
2012-07-20 19:34:54 +04:00
Svetlana Isakova
bd40ce18ff
added class ValueArgumentsCheckingResult
...
instead of null for List<JetType> in arguments
2012-07-20 19:34:54 +04:00
Svetlana Isakova
b567700545
added 'getCurrentSubstitutor' to ConstraintSystem
...
which returns DON_CARE type projection for unknown type parameters
2012-07-20 19:34:54 +04:00
Svetlana Isakova
e3d2b013da
added tests for specific type inference errors
2012-07-20 19:34:54 +04:00
Svetlana Isakova
4d281a40c8
removed method hasContradiction() from ConstraintSystem interface
...
rename
2012-07-20 19:34:54 +04:00
Svetlana Isakova
63ad4dbd17
javadoc for ConstraintSystem added
2012-07-20 19:34:54 +04:00
Svetlana Isakova
cf7d7bfafb
ConstraintKind moved to TypeConstraintsImpl
2012-07-20 19:34:54 +04:00
Svetlana Isakova
5c1a8a66a0
check for the same type constructors
...
otherwise type constructor mismatch error
(instead of checking for subclasses)
2012-07-20 19:34:54 +04:00
Svetlana Isakova
e2daefb1f3
added special method to replace type variables in constraint system
2012-07-20 19:34:54 +04:00
Svetlana Isakova
fd04717ecc
added 'hasErrorInConstrainingTypes'
...
not to report type inference error in such cases
2012-07-20 19:34:54 +04:00
Svetlana Isakova
fb3c80d98c
ConstraintsSystem interface changed
...
hasTypeConstructorMismatchAt(position) instead of getTypeConstructorMismatchConstraintPositions()
2012-07-20 19:34:53 +04:00
Svetlana Isakova
c9fef98b8d
added assert that constraining type doesn't contain type variables
2012-07-20 19:34:53 +04:00
Svetlana Isakova
e7706a022c
after rename subjectType and constraintType were exchanged
2012-07-20 19:34:53 +04:00
Svetlana Isakova
1632ec07cd
moved 'checkBoundsAreSatisfied' to ConstraintsUtil
2012-07-20 19:34:53 +04:00
Svetlana Isakova
ab0bc60fbd
getValue, getValues methods moved to ConstraintsUtil
2012-07-20 19:34:53 +04:00
Svetlana Isakova
5e58b97f74
type constraints rollback
2012-07-20 19:34:53 +04:00
Svetlana Isakova
622e01b87b
rename
2012-07-20 19:34:53 +04:00
Svetlana Isakova
3933af9964
fixes after merge
2012-07-20 19:34:53 +04:00
Svetlana Isakova
b650356376
rename + extract methods
2012-07-20 19:34:53 +04:00
Svetlana Isakova
b1fd3cc304
store ConstraintsBuilder in ResolvedCall
...
instead of type bounds map
2012-07-20 19:34:53 +04:00
Svetlana Isakova
36f3d8240c
added ConstraintsUtil
...
some methods moved from ConstraintBuilder to ConstraintsUtil
2012-07-20 19:34:53 +04:00
Svetlana Isakova
dbd3d62c54
ConstraintSystem renamed to ConstraintsBuilder
2012-07-20 19:34:53 +04:00
Svetlana Isakova
f9389d2fff
added TypeConstraintsImpl
...
containing all intermediate logic of TypeConstraints building
instead of TypeBounds
2012-07-20 19:34:53 +04:00
Svetlana Isakova
d2c0329df0
add interface TypeConstraints
...
containing resulting lower and upper constraints
and being constraintsBuilder's result for each type parameter
2012-07-20 19:34:53 +04:00
Svetlana Isakova
a4a14e9bc9
ConstraintPosition class improved
2012-07-20 19:34:53 +04:00
Svetlana Isakova
1002324ad6
regenerated diagnostics tests
2012-07-20 19:34:52 +04:00
Svetlana Isakova
3739301566
TYPE_INFERENCE_FAILED changed in tests
...
to concrete type inference error
2012-07-20 19:34:52 +04:00
Svetlana Isakova
f2e8f8c9c5
changed to right way to check
...
type inference error presence
2012-07-20 19:34:52 +04:00
Svetlana Isakova
0394da053d
added assert for last type inference error type
...
restructured 'isSuccessful' method of constraint system:
!hasTypeConstructorMismatch && !hasUnknownParameters && !hasConflictingParameters
to correspond with type inference errors
2012-07-20 19:34:52 +04:00
Svetlana Isakova
33c25ea01f
renamed COMPACT DescriptorRenderer
...
to COMPACT_WITH_MODIFIERS;
COMPACT renders descriptor without modifiers
2012-07-20 19:34:52 +04:00
Svetlana Isakova
b3146fa42f
added default renderers for type inference errors
...
TabledDescriptorRenderer is responsible for rendering messages with tables (in compiler);
HtmlTabledDescriptorRenderer changes rendering in ide using html tables
2012-07-20 19:34:52 +04:00
Svetlana Isakova
ee5ec0b500
added ide renderers for type inference errors
2012-07-20 19:34:52 +04:00
Svetlana Isakova
685254d469
added TablesRenderer
...
to render ide error messages with html tables
2012-07-20 19:34:52 +04:00
Svetlana Isakova
95634f3307
added 'dependsOnTypeParameters' method
...
to filter value parameters dependent on type parameters
2012-07-20 19:34:52 +04:00
Svetlana Isakova
b60bb9eb29
added constraint position argument
2012-07-20 19:34:52 +04:00
Svetlana Isakova
31e5e9e9ef
'typeInferenceFailed' method removed from TracingStrategy
...
(it might be reported at the end of resolution process, when there is no tracing)
2012-07-20 19:34:52 +04:00
Svetlana Isakova
62d5855d74
ConstraintSystem interface enhancement
...
to be used by error reporting
2012-07-20 19:34:52 +04:00
Svetlana Isakova
d7de3973d9
type inference errors report changed
2012-07-20 19:34:52 +04:00
Svetlana Isakova
73c1db571c
added ConstraintPosition
...
for accurate error reporting
2012-07-20 19:34:52 +04:00
Svetlana Isakova
e1da9161a3
added InferenceErrorData class
...
to provide information to renderers about type inference errors
2012-07-20 19:34:52 +04:00
Svetlana Isakova
58824fb38b
added more specialized errors than type inference error
2012-07-20 19:34:52 +04:00
Svetlana Isakova
42d9e3cbf9
ide renderers were moved to separate class
2012-07-20 19:34:51 +04:00
Svetlana Isakova
eb82eba121
tests for type inference
...
#KT-1800 fixed
#KT-1029 fixed
#KT-1031 fixed
#KT-1558 fixed
#KT-1944 fixed
#KT-2179 fixed
#KT-2294 fixed
#KT-2320 fixed
#KT-2324 fixed
2012-07-20 19:34:51 +04:00
Svetlana Isakova
e77cc82afd
new constraint system instead of old is used
2012-07-20 19:34:51 +04:00
Svetlana Isakova
1df826093a
type inference error shouldn't influence on coercion to Unit
2012-07-20 19:34:51 +04:00
Svetlana Isakova
b2923f1ed0
not to report errors if expected type is DONT_CARE
2012-07-20 19:34:51 +04:00
Svetlana Isakova
1c682a648a
TYPE_INFERENCE_UPPER_BOUND_VIOLATED error added
2012-07-20 19:34:51 +04:00
Svetlana Isakova
7c88a70c51
'hasUnknownTypeParameters' method added
...
to detect 'DIRTY' status
2012-07-20 19:34:51 +04:00
Svetlana Isakova
7696b1cb7c
TYPE_INFERENCE_ERROR resolution status added
...
if type inference failed, we don't want to return type with unsubstituted type parameters (like List<T>),
so in this case we return error type
2012-07-20 19:34:51 +04:00