#1120. Tests for mixin static members added
diff --git a/Language/Expressions/Function_Closurization/canonicalization_A01_t01.dart b/Language/Expressions/Function_Closurization/canonicalization_A01_t01.dart
index e2634fd..5420cc1 100644
--- a/Language/Expressions/Function_Closurization/canonicalization_A01_t01.dart
+++ b/Language/Expressions/Function_Closurization/canonicalization_A01_t01.dart
@@ -26,6 +26,11 @@
static void estat2() {}
}
+mixin M on C {
+ static void mstat1() {}
+ static void mstat2() {}
+}
+
class D extends C {
const D();
static void stat1() {}
@@ -63,4 +68,14 @@
const e10 = D.stat1;
Expect.notEquals(e10, e4);
+
+ const e11 = M.mstat1;
+ const e12 = M.mstat1;
+ Expect.identical(e11, e12);
+ Expect.notEquals(e11, e7);
+ Expect.notEquals(e11, e4);
+ Expect.notEquals(e11, e1);
+
+ const e13 = M.mstat2;
+ Expect.notEquals(e11, e13);
}
diff --git a/Language/Expressions/Function_Closurization/canonicalization_A02_t01.dart b/Language/Expressions/Function_Closurization/canonicalization_A02_t01.dart
index 161799e..594d1f6 100644
--- a/Language/Expressions/Function_Closurization/canonicalization_A02_t01.dart
+++ b/Language/Expressions/Function_Closurization/canonicalization_A02_t01.dart
@@ -28,6 +28,11 @@
static Y estat2<Y>(Y y) => y;
}
+mixin M on C {
+ static X mstat1<X>(X x) => x;
+ static Y mstat2<Y>(Y y) => y;
+}
+
class D extends C {
const D();
static X stat1<X>(X x) => x;
@@ -67,4 +72,14 @@
const Func e10 = D.stat1;
Expect.notEquals(e10, e4);
+
+ const e11 = M.mstat1;
+ const e12 = M.mstat1;
+ Expect.identical(e11, e12);
+ Expect.notEquals(e11, e7);
+ Expect.notEquals(e11, e4);
+ Expect.notEquals(e11, e1);
+
+ const e13 = M.mstat2;
+ Expect.notEquals(e11, e13);
}
diff --git a/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t01.dart b/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t01.dart
index 3736c33..2bc962b 100644
--- a/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t01.dart
+++ b/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t01.dart
@@ -24,6 +24,11 @@
static Y stat2<Y>(Y y) => y;
}
+mixin M on C {
+ static X mstat1<X>(X x) => x;
+ static Y mstat2<Y>(Y y) => y;
+}
+
extension Ext on C {
static X estat1<X>(X x) => x;
static Y estat2<Y>(Y y) => y;
@@ -66,4 +71,11 @@
const e10 = D.stat1<int>;
Expect.notEquals(e10, e4);
+
+ const e11 = M.mstat1<int>;
+ const e12 = M.mstat1<int>;
+ Expect.identical(e11, e12);
+ Expect.notEquals(e7, e11);
+ Expect.notEquals(e4, e11);
+ Expect.notEquals(e1, e11);
}
diff --git a/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t02.dart b/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t02.dart
index e4e5eab..7ad3d43 100644
--- a/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t02.dart
+++ b/LanguageFeatures/Constructor-tear-offs/function_tearoffs_A03_t02.dart
@@ -23,6 +23,10 @@
static X stat<X>(X x) => x;
}
+mixin M on C {
+ static X mstat<X>(X x) => x;
+}
+
extension Ext on C {
static X estat<X>(X x) => x;
}
@@ -36,12 +40,19 @@
const e4 = C.stat<int>;
const e5 = C.stat<String>;
- Expect.identical(e4, e5);
+ Expect.notEquals(e4, e5);
Expect.notEquals(e1, e4);
const e7 = Ext.estat<int>;
const e8 = Ext.estat<String>;
- Expect.identical(e7, e8);
+ Expect.notEquals(e7, e8);
Expect.notEquals(e7, e1);
Expect.notEquals(e7, e4);
+
+ const e9 = M.mstat<int>;
+ const e10 = M.mstat<String>;
+ Expect.notEquals(e9, e10);
+ Expect.notEquals(e9, e1);
+ Expect.notEquals(e9, e4);
+ Expect.notEquals(e9, e7);
}