blob: 4c7b408a14aa7bfb13e05f79dfbb180d32535c54 [file] [log] [blame]
// Copyright (c) 2020, 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.
finalLocalBool(int? x) {
final bool b = x == null;
if (!b) {
/*nonNullable*/ x;
} else {
x;
}
}
localBool(int? x) {
bool b = x == null;
if (!b) {
/*nonNullable*/ x;
} else {
x;
}
}
localBool_assigned(int? x, bool b1) {
bool b2 = b1;
b2 = x == null;
if (!b2) {
/*nonNullable*/ x;
} else {
x;
}
}
localBool_assignedDynamic(int? x, bool b1) {
dynamic b2 = b1;
b2 = x == null;
if (!b2) {
/*nonNullable*/ x;
} else {
x;
}
}
parameter_assigned(int? x, bool b) {
b = x == null;
if (!b) {
/*nonNullable*/ x;
} else {
x;
}
}
parameter_assignedDynamic(int? x, dynamic b) {
b = x == null;
if (!b) {
/*nonNullable*/ x;
} else {
x;
}
}
lateFinalLocalBool(int? x) {
late final bool b = x == null;
if (!b) {
// We don't promote based on the initializers of late locals because we
// don't know when they execute.
x;
} else {
x;
}
}
lateLocalBool(int? x) {
late bool b = x == null;
if (!b) {
// We don't promote based on the initializers of late locals because we
// don't know when they execute.
x;
} else {
x;
}
}
lateLocalBool_assignedAndInitialized(int? x, bool b1) {
late bool b2 = b1;
b2 = x == null;
if (!b2) {
/*nonNullable*/ x;
} else {
x;
}
}
lateLocalBool_assignedButNotInitialized(int? x) {
late bool b;
b = x == null;
if (!b) {
/*nonNullable*/ x;
} else {
x;
}
}
rebaseWithDemotion(int? x, int? y, int? z, int? a) {
x;
y;
z;
if (y == null) return;
x;
/*nonNullable*/ y;
z;
bool b = x == null;
x;
/*nonNullable*/ y;
z;
if (z == null) return;
x;
/*nonNullable*/ y;
/*nonNullable*/ z;
y = a;
x;
y;
/*nonNullable*/ z;
if (b) return;
/*nonNullable*/ x;
y;
/*nonNullable*/ z;
}
compoundAssignment(int? x, dynamic b) {
b += x == null;
if (!b) {
// It's not safe to promote, because there's no guarantee that value of `b`
// has anything to do with the result of `x == null`.
x;
} else {
x;
}
}
ifNullAssignment(int? x, dynamic b) {
b ??= x == null;
if (!b) {
// It's not safe to promote, because there's no guarantee that value of `b`
// has anything to do with the result of `x == null`.
x;
} else {
x;
}
}