blob: efa30a7d415e86cbc4b0401eeb2f9b17bb32f76c [file] [log] [blame]
// Copyright (c) 2023, 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.
import 'non_type_object_pattern.dart' as prefix;
var NonType = 0;
extension Extension on int {}
testUnresolved(o) {
var Unresolved(:int field) = o;
final Unresolved(:o) = o;
if (o case Unresolved(:var field)) {}
switch (o) {
case Unresolved(:var field):
break;
}
o = switch (o) {
Unresolved(:var field) => "matched",
_ => ""
};
}
testNonType(o) {
var NonType(:int field) = o;
final NonType(:o) = o;
if (o case NonType(:var field)) {}
switch (o) {
case NonType(:var field):
break;
}
o = switch (o) {
NonType(:var field) => "matched",
_ => ""
};
}
testExtension(o) {
var Extension(:int field) = o;
final Extension(:o) = o;
if (o case Extension(:var field)) {}
switch (o) {
case Extension(:var field):
break;
}
o = switch (o) {
Extension(:var field) => "matched",
_ => ""
};
}
testPrefixedUnresolved(o) {
var prefix.Unresolved(:int field) = o;
final prefix.Unresolved(:o) = o;
if (o case prefix.Unresolved(:var field)) {}
switch (o) {
case prefix.Unresolved(:var field):
break;
}
o = switch (o) {
prefix.Unresolved(:var field) => "matched",
_ => ""
};
}
testPrefixedNonType(o) {
var prefix.NonType(:int field) = o;
final prefix.NonType(:o) = o;
if (o case prefix.NonType(:var field)) {}
switch (o) {
case prefix.NonType(:var field):
break;
}
o = switch (o) {
prefix.NonType(:var field) => "matched",
_ => ""
};
}
testPrefixedExtension(o) {
var prefix.Extension(:int field) = o;
final prefix.Extension(:o) = o;
if (o case prefix.Extension(:var field)) {}
switch (o) {
case prefix.Extension(:var field):
break;
}
o = switch (o) {
prefix.Extension(:var field) => "matched",
_ => ""
};
}
testUnresolvedPrefix(o) {
var unresolved.Type(:int field) = o;
final unresolved.Type(:o) = o;
if (o case unresolved.Type(:var field)) {}
switch (o) {
case unresolved.Type(:var field):
break;
}
o = switch (o) {
unresolved.Type(:var field) => "matched",
_ => ""
};
}
testMemberAccess(o) {
var NonType.hashCode(:int field) = o;
final NonType.hashCode(:o) = o;
if (o case NonType.hashCode(:var field)) {}
switch (o) {
case NonType.hashCode(:var field):
break;
}
o = switch (o) {
NonType.hashCode(:var field) => "matched",
_ => ""
};
}