Skip to content

Commit 9eb172e

Browse files
scheglovCommit Queue
authored andcommitted
Elements. Add types for recently fixed TOP_MERGE bugs.
See https://dart-review.googlesource.com/c/sdk/+/490120 Change-Id: I26451c651fb57d90f09ca5a62be02e859ac63a1f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/490240 Commit-Queue: Konstantin Shcheglov <scheglov@google.com> Reviewed-by: Paul Berry <paulberry@google.com>
1 parent 0a30a91 commit 9eb172e

1 file changed

Lines changed: 62 additions & 28 deletions

File tree

pkg/analyzer/test/src/dart/element/top_merge_test.dart

Lines changed: 62 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -32,30 +32,7 @@ class TopMergeTest extends AbstractTypeSystemTest {
3232
_check(dynamicType, dynamicType, dynamicType);
3333
}
3434

35-
test_function() {
36-
_check(
37-
functionTypeNone(returnType: voidNone),
38-
functionTypeNone(returnType: objectQuestion),
39-
functionTypeNone(returnType: objectQuestion),
40-
);
41-
42-
_check(
43-
functionTypeNone(
44-
returnType: voidNone,
45-
formalParameters: [requiredParameter(type: objectQuestion, name: 'a')],
46-
),
47-
functionTypeNone(
48-
returnType: voidNone,
49-
formalParameters: [requiredParameter(type: dynamicType, name: 'a')],
50-
),
51-
functionTypeNone(
52-
returnType: voidNone,
53-
formalParameters: [requiredParameter(type: objectQuestion, name: 'a')],
54-
),
55-
);
56-
}
57-
58-
test_function_covariant() {
35+
test_function_parameters_covariant() {
5936
_check(
6037
functionTypeNone(
6138
returnType: voidNone,
@@ -91,22 +68,37 @@ class TopMergeTest extends AbstractTypeSystemTest {
9168
);
9269
}
9370

94-
test_function_parameters_mismatch() {
71+
test_function_parameters_kind_optionalPositional_optionalPositional() {
9572
_check(
9673
functionTypeNone(
9774
returnType: voidNone,
98-
formalParameters: [requiredParameter(type: intNone, name: 'a')],
75+
formalParameters: [positionalParameter(type: intNone)],
9976
),
10077
functionTypeNone(
10178
returnType: voidNone,
102-
formalParameters: [requiredParameter(type: intNone, name: 'b')],
79+
formalParameters: [positionalParameter(type: intNone)],
10380
),
10481
functionTypeNone(
10582
returnType: voidNone,
106-
formalParameters: [requiredParameter(type: intNone, name: 'a')],
83+
formalParameters: [positionalParameter(type: intNone)],
84+
),
85+
);
86+
}
87+
88+
test_function_parameters_kind_requiredNamed_optionalNamed() {
89+
_checkThrows(
90+
functionTypeNone(
91+
returnType: voidNone,
92+
formalParameters: [namedRequiredParameter(type: intNone, name: 'a')],
93+
),
94+
functionTypeNone(
95+
returnType: voidNone,
96+
formalParameters: [namedParameter(type: intNone, name: 'a')],
10797
),
10898
);
99+
}
109100

101+
test_function_parameters_kind_requiredPositional_optionalPositional() {
110102
_checkThrows(
111103
functionTypeNone(
112104
returnType: voidNone,
@@ -130,6 +122,48 @@ class TopMergeTest extends AbstractTypeSystemTest {
130122
);
131123
}
132124

125+
test_function_parameters_mismatch() {
126+
_check(
127+
functionTypeNone(
128+
returnType: voidNone,
129+
formalParameters: [requiredParameter(type: intNone, name: 'a')],
130+
),
131+
functionTypeNone(
132+
returnType: voidNone,
133+
formalParameters: [requiredParameter(type: intNone, name: 'b')],
134+
),
135+
functionTypeNone(
136+
returnType: voidNone,
137+
formalParameters: [requiredParameter(type: intNone, name: 'a')],
138+
),
139+
);
140+
}
141+
142+
test_function_parameters_type() {
143+
_check(
144+
functionTypeNone(
145+
returnType: voidNone,
146+
formalParameters: [requiredParameter(type: objectQuestion, name: 'a')],
147+
),
148+
functionTypeNone(
149+
returnType: voidNone,
150+
formalParameters: [requiredParameter(type: dynamicType, name: 'a')],
151+
),
152+
functionTypeNone(
153+
returnType: voidNone,
154+
formalParameters: [requiredParameter(type: objectQuestion, name: 'a')],
155+
),
156+
);
157+
}
158+
159+
test_function_returnType() {
160+
_check(
161+
functionTypeNone(returnType: voidNone),
162+
functionTypeNone(returnType: objectQuestion),
163+
functionTypeNone(returnType: objectQuestion),
164+
);
165+
}
166+
133167
test_function_typeParameters_boundsMerge() {
134168
var T1 = typeParameter('T', bound: dynamicType);
135169
var T2 = typeParameter('T', bound: objectQuestion);

0 commit comments

Comments
 (0)