Skip to content

Commit b5deb71

Browse files
committed
fix: Add workaround for new bug in Penlight
1 parent 4e0c50e commit b5deb71

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

fluent/resource.lua

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ local FluentNode = class({
6868
FTL.blank_block = class({
6969
_base = FluentNode,
7070
_init = function (self, node, resource)
71-
self:super(node, resource)
71+
-- Penlight bug #347, should be self:super(node, resource)
72+
self._base._init(self, node, resource)
7273
local _, count = string.gsub(node[1], "\n", "")
7374
getmetatable(self).discardable = count == 0
7475
end
@@ -87,7 +88,8 @@ FTL.Message = class({
8788
_base = FluentNode,
8889
_init = function (self, node, resource)
8990
self.attributes = {}
90-
self:super(node, resource)
91+
-- Penlight bug #347, should be self:super(node, resource)
92+
self._base._init(self, node, resource)
9193
-- Penlight bug #307, should be — self:catch(self.get_attribute)
9294
self:catch(function (_, k) return self:get_attribute(k) end)
9395
end,
@@ -122,7 +124,8 @@ FTL.Pattern = class({
122124
_base = FluentNode,
123125
_init = function (self, node, resource)
124126
self.elements = {}
125-
self:super(node, resource)
127+
-- Penlight bug #347, should be self:super(node, resource)
128+
self._base._init(self, node, resource)
126129
self:dedent()
127130
end,
128131
dedent = function (self)
@@ -175,7 +178,8 @@ FTL.TextElement = class({
175178
_init = function (self, node, resource)
176179
getmetatable(self).appendable = true
177180
node.id = "TextElement"
178-
self:super(node, resource)
181+
-- Penlight bug #347, should be self:super(node, resource)
182+
self._base._init(self, node, resource)
179183
end,
180184
__add = function (self, node)
181185
if self:is_a(node:is_a()) and self.appendable and node.appendable then
@@ -194,7 +198,8 @@ FTL.Placeable = class({
194198
_init = function (self, node, resource)
195199
node.id = "Placeable"
196200
node.expression = node_to_type(node.expression, resource)
197-
self:super(node, resource)
201+
-- Penlight bug #347, should be self:super(node, resource)
202+
self._base._init(self, node, resource)
198203
end,
199204
__mod = function (self, node)
200205
if node:is_a(FTL.Pattern) then
@@ -262,7 +267,8 @@ FTL.TermReference = class({
262267
_base = FluentNode,
263268
_init = function (self, node, resource)
264269
node.id = "TermReference"
265-
self:super(node, resource)
270+
-- Penlight bug #347, should be self:super(node, resource)
271+
self._base._init(self, node, resource)
266272
end,
267273
__mul = function (self, node)
268274
if node:is_a(FTL.SelectExpression) then
@@ -298,7 +304,8 @@ FTL.SelectExpression = class({
298304
node.id = "SelectExpression"
299305
self.selector = {}
300306
self.variants = {}
301-
self:super(node, resource)
307+
-- Penlight bug #347, should be self:super(node, resource)
308+
self._base._init(self, node, resource)
302309
end,
303310
format = function (self, parameters)
304311
local variant, result, default
@@ -334,7 +341,8 @@ FTL.variant_list = class({
334341
_base = FluentNode,
335342
_init = function (self, node, resource)
336343
self.elements = {}
337-
self:super(node, resource)
344+
-- Penlight bug #347, should be self:super(node, resource)
345+
self._base._init(self, node, resource)
338346
end,
339347
__mod = function (self, node)
340348
if node:is_a(FTL.SelectExpression) then
@@ -349,7 +357,8 @@ FTL.Variant = class({
349357
_init = function (self, node, resource)
350358
node.id = "Variant"
351359
node.default = node.default or false
352-
self:super(node, resource)
360+
-- Penlight bug #347, should be self:super(node, resource)
361+
self._base._init(self, node, resource)
353362
end
354363
})
355364

@@ -373,7 +382,8 @@ FTL.CallArguments = class({
373382
_init = function (self, node, resource)
374383
self.named = {}
375384
self.positional = {}
376-
self:super(node, resource)
385+
-- Penlight bug #347, should be self:super(node, resource)
386+
self._base._init(self, node, resource)
377387
end,
378388
__mul = function (self, node)
379389
if node:is_a(FTL.FunctionReference) then
@@ -391,7 +401,8 @@ FTL.Comment = class({
391401
_base = FluentNode,
392402
_init = function (self, node, resource)
393403
getmetatable(self).appendable = true
394-
self:super(node, resource)
404+
-- Penlight bug #347, should be self:super(node, resource)
405+
self._base._init(self, node, resource)
395406
end,
396407
__add = function (self, node)
397408
if node:is_a(self:is_a()) and node.appendable and self.appendable then

0 commit comments

Comments
 (0)