@@ -176,6 +176,114 @@ library
176176''');
177177 }
178178
179+ test_enum_constant_arguments_symbolLiteral() async {
180+ var library = await buildLibrary(r'''
181+ enum E {
182+ v(#foo.bar);
183+ const E(Object _);
184+ }
185+ ''');
186+ checkElementText(library, r'''
187+ library
188+ reference: <testLibrary>
189+ fragments
190+ #F0 <testLibraryFragment>
191+ element: <testLibrary>
192+ enums
193+ #F1 enum E (nameOffset:5) (firstTokenOffset:0) (offset:5)
194+ element: <testLibrary>::@enum::E
195+ fields
196+ #F2 hasInitializer v (nameOffset:11) (firstTokenOffset:11) (offset:11)
197+ element: <testLibrary>::@enum::E::@field::v
198+ initializer: expression_0
199+ InstanceCreationExpression
200+ constructorName: ConstructorName
201+ type: NamedType
202+ name: E @-1
203+ element2: <testLibrary>::@enum::E
204+ type: E
205+ element: <testLibrary>::@enum::E::@constructor::new
206+ argumentList: ArgumentList
207+ leftParenthesis: ( @12
208+ arguments
209+ SymbolLiteral
210+ poundSign: # @13
211+ components
212+ foo
213+ offset: 14
214+ bar
215+ offset: 18
216+ rightParenthesis: ) @21
217+ staticType: E
218+ #F3 synthetic values (nameOffset:<null>) (firstTokenOffset:<null>) (offset:5)
219+ element: <testLibrary>::@enum::E::@field::values
220+ initializer: expression_1
221+ ListLiteral
222+ leftBracket: [ @0
223+ elements
224+ SimpleIdentifier
225+ token: v @-1
226+ element: <testLibrary>::@enum::E::@getter::v
227+ staticType: E
228+ rightBracket: ] @0
229+ staticType: List<E>
230+ constructors
231+ #F4 const new (nameOffset:<null>) (firstTokenOffset:26) (offset:32)
232+ element: <testLibrary>::@enum::E::@constructor::new
233+ typeName: E
234+ typeNameOffset: 32
235+ formalParameters
236+ #F5 _ (nameOffset:41) (firstTokenOffset:34) (offset:41)
237+ element: <testLibrary>::@enum::E::@constructor::new::@formalParameter::_
238+ getters
239+ #F6 synthetic v (nameOffset:<null>) (firstTokenOffset:<null>) (offset:11)
240+ element: <testLibrary>::@enum::E::@getter::v
241+ #F7 synthetic values (nameOffset:<null>) (firstTokenOffset:<null>) (offset:5)
242+ element: <testLibrary>::@enum::E::@getter::values
243+ enums
244+ enum E
245+ reference: <testLibrary>::@enum::E
246+ firstFragment: #F1
247+ supertype: Enum
248+ fields
249+ static const enumConstant hasInitializer v
250+ reference: <testLibrary>::@enum::E::@field::v
251+ firstFragment: #F2
252+ type: E
253+ constantInitializer
254+ fragment: #F2
255+ expression: expression_0
256+ getter: <testLibrary>::@enum::E::@getter::v
257+ synthetic static const values
258+ reference: <testLibrary>::@enum::E::@field::values
259+ firstFragment: #F3
260+ type: List<E>
261+ constantInitializer
262+ fragment: #F3
263+ expression: expression_1
264+ getter: <testLibrary>::@enum::E::@getter::values
265+ constructors
266+ const new
267+ reference: <testLibrary>::@enum::E::@constructor::new
268+ firstFragment: #F4
269+ formalParameters
270+ #E0 requiredPositional _
271+ firstFragment: #F5
272+ type: Object
273+ getters
274+ synthetic static v
275+ reference: <testLibrary>::@enum::E::@getter::v
276+ firstFragment: #F6
277+ returnType: E
278+ variable: <testLibrary>::@enum::E::@field::v
279+ synthetic static values
280+ reference: <testLibrary>::@enum::E::@getter::values
281+ firstFragment: #F7
282+ returnType: List<E>
283+ variable: <testLibrary>::@enum::E::@field::values
284+ ''');
285+ }
286+
179287 test_enum_constant_inference() async {
180288 var library = await buildLibrary(r'''
181289enum E<T> {
0 commit comments