Skip to content

Commit 6d6c21a

Browse files
committed
simplify VariantList and VariantExpression
1 parent ec7b732 commit 6d6c21a

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

fluent.runtime/fluent/runtime/resolver.py

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
258252
class 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

319313
class CallExpression(FTL.CallExpression, BaseResolver):

0 commit comments

Comments
 (0)