-
Sub-task
-
Resolution: Fixed
-
P3
-
8
-
b52
-
unknown
-
generic
-
Not verified
The CheckContext interface currently defines a method for logging type mismatch that accepts the following parameters:
*) a diagnostic position
*) a found type
*) an expected type
*) a details diagnostic
The report method is used in two ways (mostly orthogonal):
1) simple type mismatch error (of the kind found/req) are reported by using the found/req parameters and by setting the diagnostic to null
2) complex mismatch errors (i.e. caused by inference failures) do not use found/req - they only rely on the diagnostic param.
CheckContext's interface for reporting errors should be simplified to only accept a diagnostic (reason as to why a type mismatch has occurred). Info about found/req types, where available, should be encapsulated inside the details diagnostic.
*) a diagnostic position
*) a found type
*) an expected type
*) a details diagnostic
The report method is used in two ways (mostly orthogonal):
1) simple type mismatch error (of the kind found/req) are reported by using the found/req parameters and by setting the diagnostic to null
2) complex mismatch errors (i.e. caused by inference failures) do not use found/req - they only rely on the diagnostic param.
CheckContext's interface for reporting errors should be simplified to only accept a diagnostic (reason as to why a type mismatch has occurred). Info about found/req types, where available, should be encapsulated inside the details diagnostic.
- relates to
-
JDK-7151492 Encapsulate check logic into Attr.ResultInfo
- Closed