@@ -224,8 +224,8 @@ class Attribute(FTL.Attribute, BaseResolver):
224224 pass
225225
226226
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 ):
229229 found = None
230230 for variant in self .variants :
231231 if variant .default :
@@ -244,17 +244,11 @@ def select_from_variant_list(self, env, key):
244244 env .errors .append (FluentReferenceError ("Unknown variant: {0}"
245245 .format (key )))
246246 found = default
247- if found is None :
248- return FluentNoneResolver ()
247+ assert found , "Not having a default variant is a parse error"
249248
250249 return found .value (env )
251250
252251
253- class VariantList (FTL .VariantList , VariantListResolver ):
254- def __call__ (self , env ):
255- return self .select_from_variant_list (env , None )
256-
257-
258252class SelectExpression (FTL .SelectExpression , BaseResolver ):
259253 def __call__ (self , env ):
260254 key = self .selector (env )
@@ -313,7 +307,7 @@ def __call__(self, env):
313307 assert isinstance (message , VariantList )
314308
315309 variant_name = self .key .name
316- return message . select_from_variant_list (env , variant_name )
310+ return message (env , variant_name )
317311
318312
319313class CallExpression (FTL .CallExpression , BaseResolver ):
0 commit comments