diff options
Diffstat (limited to 'server/src/vm/emmy.lua')
-rw-r--r-- | server/src/vm/emmy.lua | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/server/src/vm/emmy.lua b/server/src/vm/emmy.lua index 500c4711..1dd67d7d 100644 --- a/server/src/vm/emmy.lua +++ b/server/src/vm/emmy.lua @@ -24,6 +24,7 @@ function mt:doEmmy(action) elseif tp == 'emmyGeneric' then self:doEmmyGeneric(action) elseif tp == 'emmyVararg' then + self:doEmmyVararg(action) elseif tp == 'emmyLanguage' then elseif tp == 'emmyArrayType' then elseif tp == 'emmyTableType' then @@ -209,6 +210,19 @@ function mt:doEmmyGeneric(action) self._emmyGeneric = generic end +function mt:doEmmyVararg(action) + ---@type emmyMgr + local emmyMgr = self.emmyMgr + self:instantSource(action) + local type = self:getGenericByType(action[1]) or self:buildEmmyType(action[1]) + local param = emmyMgr:addParam(action, type) + action:set('emmy.param', param) + self:addEmmyParam(param) + if self.lsp then + self.lsp.global:markGet(self:getUri()) + end +end + function mt:doEmmyIncomplete(action) self:instantSource(action) end |