// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // Primitive '==' tests compile to '===', or '==' when both sides can be null. /*member: test1a:function(value) { return value == null; }*/ test1a(int? value) { return value == null; } /*member: test1b:function(value) { return value == null; }*/ test1b(int? value) { return null == value; } /*member: test2a:function(value) { return value === 1; }*/ test2a(int? value) { return value == 1; } /*member: test2b:function(value) { return 1 === value; }*/ test2b(int? value) { return 1 == value; } /*member: test3a:function(value) { return value === "foo"; }*/ test3a(String? value) { return value == 'foo'; } /*member: test3b:function(value) { return "foo" === value; }*/ test3b(String? value) { return 'foo' == value; } /*member: test4a:function(value) { return value === 1; }*/ test4a(int value) { return value == 1; } /*member: test4b:function(value) { return 1 === value; }*/ test4b(int value) { return 1 == value; } /*member: test5:function(x, y) { return x === y; }*/ test5(int x, int y) { return x == y; } /*member: test6:function(x, y) { return x == y; }*/ test6(int? x, int? y) { return x == y; } /*member: test7a:function(value) { return value === "foo"; }*/ test7a(String value) { return value == 'foo'; } /*member: test7b:function(value) { return "foo" === value; }*/ test7b(String value) { return 'foo' == value; } /*member: test8:function(a, b) { return a === b; }*/ test8(String a, String b) { return a == b; } /*member: test9:function(a, b) { return a == b; }*/ test9(String? a, String? b) { return a == b; } /*member: main:ignore*/ @pragma('dart2js:disable-inlining') main() { test1a(-1); test1a(1); test1a(null); test1b(-1); test1b(1); test1b(null); test2a(-1); test2a(1); test2a(null); test2b(-1); test2b(1); test2b(null); test3a('x'); test3a('y'); test3a(null); test3b('x'); test3b('y'); test3b(null); test4a(-1); test4a(1); test4b(-1); test4b(1); test5(1, -1); test5(1, 1); test5(-1, 1); test5(-1, -1); test6(null, -1); test6(1, -1); test6(1, 1); test6(-1, 1); test6(-1, null); test7a('foo'); test7a('bar'); test7b('foo'); test7b('bar'); test8('foo', 'bar'); test8('foo', 'foo'); test8('bar', 'foo'); test8('bar', 'bar'); test9(null, 'foo'); test9(null, null); test9('foo', 'foo'); test9('foo', 'bar'); test9('bar', null); }