Commit Graph

6812 Commits

Author SHA1 Message Date
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