private fun get_property(v: TypingVisitor, type_recv: MMType, is_implicit_self: Bool, name: Symbol): nullable MMMethod
do
if type_recv isa MMTypeNone then
- v.error(self, "Error: Method '{name}' call on 'null'.")
- return null
+ if name == (once "==".to_symbol) or name == (once "!=".to_symbol) then
+ # Special case on != and == that are allowed for 'null'
+ type_recv = v.type_object.as_nullable
+ else
+ v.error(self, "Error: Method '{name}' call on 'null'.")
+ return null
+ end
end
var lc = type_recv.local_class
var prop: nullable MMMethod = null
alt/error_expr_not_ok_alt6.nit:78,7--19: Type error: expected A, got Bool
alt/error_expr_not_ok_alt6.nit:79,11--14: Type error: expected Bool, got null
alt/error_expr_not_ok_alt6.nit:79,7--14: Type error: expected A, got Bool
-alt/error_expr_not_ok_alt6.nit:80,7--15: Error: Method '==' call on 'null'.
+alt/error_expr_not_ok_alt6.nit:80,7--15: Type error: expected A, got Bool
alt/error_expr_not_ok_alt6.nit:81,7--15: Type error: expected A, got Bool
-alt/error_expr_not_ok_alt6.nit:82,7--18: Error: Method '==' call on 'null'.
-alt/error_expr_not_ok_alt6.nit:83,7--15: Error: Method '!=' call on 'null'.
+alt/error_expr_not_ok_alt6.nit:82,7--18: Type error: expected A, got Bool
+alt/error_expr_not_ok_alt6.nit:83,7--15: Type error: expected A, got Bool
alt/error_expr_not_ok_alt6.nit:84,7--15: Type error: expected A, got Bool
-alt/error_expr_not_ok_alt6.nit:85,7--18: Error: Method '!=' call on 'null'.
+alt/error_expr_not_ok_alt6.nit:85,7--18: Type error: expected A, got Bool
alt/error_expr_not_ok_alt6.nit:86,7--15: Type error: expected A, got Bool
alt/error_expr_not_ok_alt6.nit:87,7--15: Type error: expected A, got Bool
alt/error_expr_not_ok_alt6.nit:88,7--18: Type error: expected A, got Bool