Skip to content

Commit 2044eae

Browse files
committed
[cfe] Add regression test for 40954
Closes #40954 Change-Id: I7cf5cb659291c571d5dd2a5941e4809e6b235145 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155323 Reviewed-by: Dmitry Stefantsov <[email protected]>
1 parent 84d71cd commit 2044eae

8 files changed

+336
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
2+
// for details. All rights reserved. Use of this source code is governed by a
3+
// BSD-style license that can be found in the LICENSE file.
4+
5+
class A {}
6+
7+
class C {
8+
static void test1(var v, [A a]) {}
9+
10+
static void test2(var v, {A a}) {}
11+
12+
void test11(var v, [A a]) {}
13+
14+
void test22(var v, {A a}) {}
15+
}
16+
17+
void test1(var v, [A a]) {}
18+
19+
void test2(var v, {A a}) {}
20+
21+
main() {}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
library /*isNonNullableByDefault*/;
2+
//
3+
// Problems in library:
4+
//
5+
// pkg/front_end/testcases/nnbd/issue40954.dart:8:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
6+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
7+
// static void test1(var v, [A a]) {}
8+
// ^
9+
//
10+
// pkg/front_end/testcases/nnbd/issue40954.dart:10:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
11+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
12+
// static void test2(var v, {A a}) {}
13+
// ^
14+
//
15+
// pkg/front_end/testcases/nnbd/issue40954.dart:12:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
16+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
17+
// void test11(var v, [A a]) {}
18+
// ^
19+
//
20+
// pkg/front_end/testcases/nnbd/issue40954.dart:14:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
21+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
22+
// void test22(var v, {A a}) {}
23+
// ^
24+
//
25+
// pkg/front_end/testcases/nnbd/issue40954.dart:17:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
26+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
27+
// void test1(var v, [A a]) {}
28+
// ^
29+
//
30+
// pkg/front_end/testcases/nnbd/issue40954.dart:19:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
31+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
32+
// void test2(var v, {A a}) {}
33+
// ^
34+
//
35+
import self as self;
36+
import "dart:core" as core;
37+
38+
class A extends core::Object {
39+
synthetic constructor •() → self::A
40+
;
41+
}
42+
class C extends core::Object {
43+
synthetic constructor •() → self::C
44+
;
45+
static method test1(dynamic v, [self::A a]) → void
46+
;
47+
static method test2(dynamic v, {self::A a}) → void
48+
;
49+
method test11(dynamic v, [self::A a]) → void
50+
;
51+
method test22(dynamic v, {self::A a}) → void
52+
;
53+
}
54+
static method test1(dynamic v, [self::A a]) → void
55+
;
56+
static method test2(dynamic v, {self::A a}) → void
57+
;
58+
static method main() → dynamic
59+
;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
library /*isNonNullableByDefault*/;
2+
//
3+
// Problems in library:
4+
//
5+
// pkg/front_end/testcases/nnbd/issue40954.dart:8:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
6+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
7+
// static void test1(var v, [A a]) {}
8+
// ^
9+
//
10+
// pkg/front_end/testcases/nnbd/issue40954.dart:10:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
11+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
12+
// static void test2(var v, {A a}) {}
13+
// ^
14+
//
15+
// pkg/front_end/testcases/nnbd/issue40954.dart:12:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
16+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
17+
// void test11(var v, [A a]) {}
18+
// ^
19+
//
20+
// pkg/front_end/testcases/nnbd/issue40954.dart:14:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
21+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
22+
// void test22(var v, {A a}) {}
23+
// ^
24+
//
25+
// pkg/front_end/testcases/nnbd/issue40954.dart:17:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
26+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
27+
// void test1(var v, [A a]) {}
28+
// ^
29+
//
30+
// pkg/front_end/testcases/nnbd/issue40954.dart:19:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
31+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
32+
// void test2(var v, {A a}) {}
33+
// ^
34+
//
35+
import self as self;
36+
import "dart:core" as core;
37+
38+
class A extends core::Object {
39+
synthetic constructor •() → self::A
40+
: super core::Object::•()
41+
;
42+
}
43+
class C extends core::Object {
44+
synthetic constructor •() → self::C
45+
: super core::Object::•()
46+
;
47+
static method test1(dynamic v, [self::A a = #C1]) → void {}
48+
static method test2(dynamic v, {self::A a = #C1}) → void {}
49+
method test11(dynamic v, [self::A a = #C1]) → void {}
50+
method test22(dynamic v, {self::A a = #C1}) → void {}
51+
}
52+
static method test1(dynamic v, [self::A a = #C1]) → void {}
53+
static method test2(dynamic v, {self::A a = #C1}) → void {}
54+
static method main() → dynamic {}
55+
56+
constants {
57+
#C1 = null
58+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
library /*isNonNullableByDefault*/;
2+
//
3+
// Problems in library:
4+
//
5+
// pkg/front_end/testcases/nnbd/issue40954.dart:8:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
6+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
7+
// static void test1(var v, [A a]) {}
8+
// ^
9+
//
10+
// pkg/front_end/testcases/nnbd/issue40954.dart:10:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
11+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
12+
// static void test2(var v, {A a}) {}
13+
// ^
14+
//
15+
// pkg/front_end/testcases/nnbd/issue40954.dart:12:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
16+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
17+
// void test11(var v, [A a]) {}
18+
// ^
19+
//
20+
// pkg/front_end/testcases/nnbd/issue40954.dart:14:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
21+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
22+
// void test22(var v, {A a}) {}
23+
// ^
24+
//
25+
// pkg/front_end/testcases/nnbd/issue40954.dart:17:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
26+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
27+
// void test1(var v, [A a]) {}
28+
// ^
29+
//
30+
// pkg/front_end/testcases/nnbd/issue40954.dart:19:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
31+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
32+
// void test2(var v, {A a}) {}
33+
// ^
34+
//
35+
import self as self;
36+
import "dart:core" as core;
37+
38+
class A extends core::Object {
39+
synthetic constructor •() → self::A
40+
: super core::Object::•()
41+
;
42+
}
43+
class C extends core::Object {
44+
synthetic constructor •() → self::C
45+
: super core::Object::•()
46+
;
47+
static method test1(dynamic v, [self::A a = #C1]) → void {}
48+
static method test2(dynamic v, {self::A a = #C1}) → void {}
49+
method test11(dynamic v, [self::A a = #C1]) → void {}
50+
method test22(dynamic v, {self::A a = #C1}) → void {}
51+
}
52+
static method test1(dynamic v, [self::A a = #C1]) → void {}
53+
static method test2(dynamic v, {self::A a = #C1}) → void {}
54+
static method main() → dynamic {}
55+
56+
constants {
57+
#C1 = null
58+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class A {}
2+
3+
class C {
4+
static void test1(var v, [A a]) {}
5+
static void test2(var v, {A a}) {}
6+
void test11(var v, [A a]) {}
7+
void test22(var v, {A a}) {}
8+
}
9+
10+
void test1(var v, [A a]) {}
11+
void test2(var v, {A a}) {}
12+
main() {}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class A {}
2+
3+
class C {
4+
static void test1(var v, [A a]) {}
5+
static void test2(var v, {A a}) {}
6+
void test11(var v, [A a]) {}
7+
void test22(var v, {A a}) {}
8+
}
9+
10+
main() {}
11+
void test1(var v, [A a]) {}
12+
void test2(var v, {A a}) {}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
library /*isNonNullableByDefault*/;
2+
//
3+
// Problems in library:
4+
//
5+
// pkg/front_end/testcases/nnbd/issue40954.dart:8:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
6+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
7+
// static void test1(var v, [A a]) {}
8+
// ^
9+
//
10+
// pkg/front_end/testcases/nnbd/issue40954.dart:10:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
11+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
12+
// static void test2(var v, {A a}) {}
13+
// ^
14+
//
15+
// pkg/front_end/testcases/nnbd/issue40954.dart:12:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
16+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
17+
// void test11(var v, [A a]) {}
18+
// ^
19+
//
20+
// pkg/front_end/testcases/nnbd/issue40954.dart:14:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
21+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
22+
// void test22(var v, {A a}) {}
23+
// ^
24+
//
25+
// pkg/front_end/testcases/nnbd/issue40954.dart:17:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
26+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
27+
// void test1(var v, [A a]) {}
28+
// ^
29+
//
30+
// pkg/front_end/testcases/nnbd/issue40954.dart:19:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
31+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
32+
// void test2(var v, {A a}) {}
33+
// ^
34+
//
35+
import self as self;
36+
import "dart:core" as core;
37+
38+
class A extends core::Object {
39+
synthetic constructor •() → self::A
40+
: super core::Object::•()
41+
;
42+
}
43+
class C extends core::Object {
44+
synthetic constructor •() → self::C
45+
: super core::Object::•()
46+
;
47+
static method test1(dynamic v, [self::A a = #C1]) → void {}
48+
static method test2(dynamic v, {self::A a = #C1}) → void {}
49+
method test11(dynamic v, [self::A a = #C1]) → void {}
50+
method test22(dynamic v, {self::A a = #C1}) → void {}
51+
}
52+
static method test1(dynamic v, [self::A a = #C1]) → void {}
53+
static method test2(dynamic v, {self::A a = #C1}) → void {}
54+
static method main() → dynamic {}
55+
56+
constants {
57+
#C1 = null
58+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
library /*isNonNullableByDefault*/;
2+
//
3+
// Problems in library:
4+
//
5+
// pkg/front_end/testcases/nnbd/issue40954.dart:8:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
6+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
7+
// static void test1(var v, [A a]) {}
8+
// ^
9+
//
10+
// pkg/front_end/testcases/nnbd/issue40954.dart:10:31: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
11+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
12+
// static void test2(var v, {A a}) {}
13+
// ^
14+
//
15+
// pkg/front_end/testcases/nnbd/issue40954.dart:12:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
16+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
17+
// void test11(var v, [A a]) {}
18+
// ^
19+
//
20+
// pkg/front_end/testcases/nnbd/issue40954.dart:14:25: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
21+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
22+
// void test22(var v, {A a}) {}
23+
// ^
24+
//
25+
// pkg/front_end/testcases/nnbd/issue40954.dart:17:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
26+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
27+
// void test1(var v, [A a]) {}
28+
// ^
29+
//
30+
// pkg/front_end/testcases/nnbd/issue40954.dart:19:22: Error: Optional parameter 'a' should have a default value because its type 'A' doesn't allow null.
31+
// - 'A' is from 'pkg/front_end/testcases/nnbd/issue40954.dart'.
32+
// void test2(var v, {A a}) {}
33+
// ^
34+
//
35+
import self as self;
36+
import "dart:core" as core;
37+
38+
class A extends core::Object {
39+
synthetic constructor •() → self::A
40+
: super core::Object::•()
41+
;
42+
}
43+
class C extends core::Object {
44+
synthetic constructor •() → self::C
45+
: super core::Object::•()
46+
;
47+
static method test1(dynamic v, [self::A a = #C1]) → void {}
48+
static method test2(dynamic v, {self::A a = #C1}) → void {}
49+
method test11(dynamic v, [self::A a = #C1]) → void {}
50+
method test22(dynamic v, {self::A a = #C1}) → void {}
51+
}
52+
static method test1(dynamic v, [self::A a = #C1]) → void {}
53+
static method test2(dynamic v, {self::A a = #C1}) → void {}
54+
static method main() → dynamic {}
55+
56+
constants {
57+
#C1 = null
58+
}

0 commit comments

Comments
 (0)