@@ -224,8 +224,8 @@ class Attribute(FTL.Attribute, BaseResolver):
224
224
pass
225
225
226
226
227
- class VariantListResolver ( BaseResolver ):
228
- def select_from_variant_list (self , env , key ):
227
+ class VariantList ( FTL . VariantList , BaseResolver ):
228
+ def __call__ (self , env , key = None ):
229
229
found = None
230
230
for variant in self .variants :
231
231
if variant .default :
@@ -244,17 +244,11 @@ def select_from_variant_list(self, env, key):
244
244
env .errors .append (FluentReferenceError ("Unknown variant: {0}"
245
245
.format (key )))
246
246
found = default
247
- if found is None :
248
- return FluentNoneResolver ()
247
+ assert found , "Not having a default variant is a parse error"
249
248
250
249
return found .value (env )
251
250
252
251
253
- class VariantList (FTL .VariantList , VariantListResolver ):
254
- def __call__ (self , env ):
255
- return self .select_from_variant_list (env , None )
256
-
257
-
258
252
class SelectExpression (FTL .SelectExpression , BaseResolver ):
259
253
def __call__ (self , env ):
260
254
key = self .selector (env )
@@ -313,7 +307,7 @@ def __call__(self, env):
313
307
assert isinstance (message , VariantList )
314
308
315
309
variant_name = self .key .name
316
- return message . select_from_variant_list (env , variant_name )
310
+ return message (env , variant_name )
317
311
318
312
319
313
class CallExpression (FTL .CallExpression , BaseResolver ):
0 commit comments