Svetlana Isakova
084566aac4
classDescriptorMap used instead of classTypeMap
...
in JavaTypeTransformer
so 'getKotlinAnalog' now is used instead of 'unwrapPrimitive'
classTypeMap removed,
=> removed now unnecessary numberType, throwableType, etc. from JetStandardLibrary
2012-07-20 19:34:55 +04:00
Svetlana Isakova
a4bb47a73f
type inference with functional literal params changed
...
if there are function literals without declared parameter types,
try adding constraint with current substituted result first (known type parameters),
if there is error, try adding constraint with 'dont_care' substitution
2012-07-20 19:34:55 +04:00
Svetlana Isakova
a54b162e36
map changed to function
2012-07-20 19:34:54 +04:00
Svetlana Isakova
d2c65b8529
rename
2012-07-20 19:34:54 +04:00
Svetlana Isakova
b161b6bfbf
added error TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH
2012-07-20 19:34:54 +04:00
Svetlana Isakova
17c16d8bfc
optimize imports
2012-07-20 19:34:54 +04:00
Svetlana Isakova
5edfc6e2eb
'reportTypeInferenceFailed' moved to tracing
2012-07-20 19:34:54 +04:00
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