1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| -- luainspect.typecheck - Type definitions used to check LuaInspect itself.
| --
| -- (c) 2010 David Manura, MIT License.
|
| local T = require "luainspect.types"
|
| local ast_mt = {__tostring = function(s) return 'AST' end}
|
| return function(context)
| -- AST type.
| local ast = T.table {
| tag = T.string,
| lineinfo=T.table{first=T.table{comments=T.table{T.table{T.string,T.number,T.number}},T.number,T.number,T.number,T.string},
| ast=T.table{comments=T.table{T.table{T.string,T.number,T.number}},T.number,T.number,T.number,T.string}},
| isfield=T.boolean, tag2=T.string,
| value=T.universal, valueself=T.number, valuelist=T.table{n=T.number, isvaluepegged=T.boolean},
| resolvedname=T.string, definedglobal=T.boolean, id=T.number, isparam=T.boolean, isset=T.boolean, isused=T.boolean,
| isignore=T.boolean,
| functionlevel=T.number, localmasked=T.boolean, note=T.string, nocollect=T.table{}, isdead=T.boolean}
| -- FIX: some of these are "boolean or nil" actually
| ast.localdefinition=ast; ast.localmasking = ast
| ast.previous = ast; ast.parent = ast
| ast.seevalue = ast; ast.seenote=ast
| setmetatable(ast, ast_mt)
|
| ast[1] = ast; ast[2] = ast
| context.apply_value('ast$', ast)
|
| -- Token type.
| context.apply_value('token$', T.table{
| tag=T.string, fpos=T.number, lpos=T.number, keywordid=T.number, ast=ast, [1]=T.string
| })
|
| -- Lua source code string type.
| context.apply_value('src$', '')
|
| -- SciTE syler object type.
| local nf = function()end
| context.apply_value('^styler$', T.table{SetState=nf, More=nf, Current=nf, Forward=nf, StartStyling=nf, EndStyling=nf, language=T.string})
| end
|
|