fix bug 422778 Missing lineinfo on indexed function names
diff --git a/metalua/compiler/parser/stat.lua b/metalua/compiler/parser/stat.lua
index 3c671db..846f56d 100644
--- a/metalua/compiler/parser/stat.lua
+++ b/metalua/compiler/parser/stat.lua
@@ -33,6 +33,7 @@
 --
 -------------------------------------------------------------------------------
 
+local lexer    = require 'metalua.grammar.lexer'
 local mlp      = require 'metalua.compiler.parser.common'
 local mlp_misc = require 'metalua.compiler.parser.misc'
 local mlp_meta = require 'metalua.compiler.parser.meta'
@@ -124,9 +125,14 @@
 -- Function def parser helper: id ( . id ) *
 --------------------------------------------------------------------------------
 local function fn_builder (list)
-   local r = list[1]
-   for i = 2, #list do r = { tag="Index", r, mlp.id2string(list[i]) } end
-   return r
+   local acc = list[1]
+   local first = acc.lineinfo.first
+   for i = 2, #list do
+       local index = mlp.id2string(list[i])
+       local li = lexer.new_lineinfo(first, index.lineinfo.last)
+       acc = { tag="Index", acc, index, lineinfo=li }
+   end
+   return acc
 end
 local func_name = gg.list{ mlp_misc.id, separators = ".", builder = fn_builder }