Skip to content

Commit ce16cb3

Browse files
committed
move the whole ffi cdecl parser to type definitions
1 parent 41d83eb commit ce16cb3

File tree

12 files changed

+26
-25
lines changed

12 files changed

+26
-25
lines changed

nattlua/definitions/lua/ffi.nlua

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
§ context.cdecl_parser = require("nattlua.definitions.lua.ffi.main")
2+
13
local type ConstructorArgument = boolean | number | AnyFunction | nil | {[string | number] = self | number | AnyFunction | boolean | nil}
24

35
function TCData<|T: ConstructorArgument, ...: ...any|>
@@ -159,47 +161,47 @@ local type ffi = require("ffi")
159161
type _G.ffi = ffi
160162

161163
analyzer function ffi.sizeof(cdecl: any, len: nil | number)
162-
return cdecl_parser.sizeof(cdecl, len)
164+
return context.cdecl_parser.sizeof(cdecl, len)
163165
end
164166

165167
analyzer function ffi.cdef(cdecl: string, ...: ...any)
166-
cdecl_parser.cdef(cdecl, ...)
168+
context.cdecl_parser.cdef(cdecl, ...)
167169
end
168170

169171
SetPreventInputExpansionOnFunction<|ffi.cdef, true|>
170172

171173
analyzer function ffi.cast(cdecl: string | any, src: string | any)
172-
return cdecl_parser.cast(cdecl, src)
174+
return context.cdecl_parser.cast(cdecl, src)
173175
end
174176

175177
analyzer function ffi.typeof(cdecl: string | TCType<|any|>, ...: ...any)
176-
return cdecl_parser.typeof(cdecl, ...)
178+
return context.cdecl_parser.typeof(cdecl, ...)
177179
end
178180

179181
analyzer function ffi.typeof_arg(cdecl: string | TCType<|any|>, ...: ...any)
180-
return cdecl_parser.typeof_arg(cdecl, ...)
182+
return context.cdecl_parser.typeof_arg(cdecl, ...)
181183
end
182184

183185
SetPreventInputExpansionOnFunction<|ffi.typeof, true|>
184186

185187
analyzer function ffi.get_type(cdecl: string, ...: ...any)
186-
return cdecl_parser.get_type(cdecl, ...)
188+
return context.cdecl_parser.get_type(cdecl, ...)
187189
end
188190

189191
analyzer function ffi.get_raw_type(cdecl: string, ...: ...any)
190-
return cdecl_parser.get_raw_type(cdecl, ...)
192+
return context.cdecl_parser.get_raw_type(cdecl, ...)
191193
end
192194

193195
analyzer function ffi.new(cdecl: any, ...: ...any)
194-
return cdecl_parser.new(cdecl, ...)
196+
return context.cdecl_parser.new(cdecl, ...)
195197
end
196198

197199
analyzer function ffi.metatype(ctype: any, meta: any)
198-
return cdecl_parser.metatype(ctype, meta)
200+
return context.cdecl_parser.metatype(ctype, meta)
199201
end
200202

201203
analyzer function ffi.load(lib: string, global: boolean | nil)
202-
return cdecl_parser.load(lib)
204+
return context.cdecl_parser.load(lib)
203205
end
204206

205207
analyzer function ffi.gc(obj: cdata, callback: Function)

nattlua/c_declarations/analyzer.lua renamed to nattlua/definitions/lua/ffi/analyzer.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ local Boolean = require("nattlua.types.union").Boolean
2323
local Union = require("nattlua.types.union").Union
2424
local Any = require("nattlua.types.any").Any
2525
local ERROR_REDECLARE = false
26-
local walk_cdeclarations = require("nattlua.c_declarations.ast_walker")
26+
local walk_cdeclarations = require("nattlua.definitions.lua.ffi.ast_walker")
2727
require("nattlua.other.context_mixin")(META)
2828
local valid_qualifiers = {
2929
["double"] = true,
File renamed without changes.
File renamed without changes.

nattlua/c_declarations/main.lua renamed to nattlua/definitions/lua/ffi/main.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ local Nilable = require("nattlua.types.union").Nilable
3030
local Tuple = require("nattlua.types.tuple").Tuple
3131
local Boolean = require("nattlua.types.union").Boolean
3232
local Lexer = require("nattlua.lexer.lexer").New
33-
local Parser = require("nattlua.c_declarations.parser").New
34-
local Emitter = require("nattlua.c_declarations.emitter").New
35-
local Analyzer = require("nattlua.c_declarations.analyzer").New
33+
local Parser = require("nattlua.definitions.lua.ffi.parser").New
34+
local Emitter = require("nattlua.definitions.lua.ffi.emitter").New
35+
local Analyzer = require("nattlua.definitions.lua.ffi.analyzer").New
3636
local Code = require("nattlua.code").New
3737
local Compiler = require("nattlua.compiler")
3838
local variables = Table()
File renamed without changes.

nattlua/parser/statements.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -432,7 +432,6 @@ return function(META)
432432
{key = "nl", path = "nattlua.init"},
433433
{key = "types", path = "nattlua.types.types"},
434434
{key = "context", path = "nattlua.analyzer.context"},
435-
{key = "cdecl_parser", path = "nattlua.c_declarations.main"},
436435
{
437436
key = "type_errors",
438437
path = "nattlua.types.error_messages",

nlconfig.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,10 @@ do -- these override existing commands and should probably be made more generic
212212
package.preload.nattlua = package.preload["nattlua.init"]
213213
end
214214
215-
require("nattlua.c_declarations.parser")
216-
require("nattlua.c_declarations.emitter")
217-
require("nattlua.c_declarations.analyzer")
218-
require("nattlua.c_declarations.main")
215+
require("nattlua.definitions.lua.ffi.parser")
216+
require("nattlua.definitions.lua.ffi.emitter")
217+
require("nattlua.definitions.lua.ffi.analyzer")
218+
require("nattlua.definitions.lua.ffi.main")
219219
require("examples.util")
220220
221221
return require("nattlua")

test/tests/nattlua/c_declarations/cdef.nlua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
local analyzer function cdef(str: string, ...: ...any)
2-
return require("nattlua.c_declarations.main").cdef(str, ...)
2+
return require("nattlua.definitions.lua.ffi.main").cdef(str, ...)
33
end
44

55
local analyzer function cdef_error(str: string, expect: string, ...: ...any)
66
local args = {...}
77
local ok, err = pcall(function()
8-
return require("nattlua.c_declarations.main").cdef(str, unpack(args))
8+
return require("nattlua.definitions.lua.ffi.main").cdef(str, unpack(args))
99
end)
1010
assert(ok == false)
1111
assert(err:find(expect:GetData()))
1212
end
1313

1414
local function reset()
15-
§require("nattlua.c_declarations.main").reset()
15+
§require("nattlua.definitions.lua.ffi.main").reset()
1616

1717
local ffi = require("ffi")
1818
ffi.C = {}

0 commit comments

Comments
 (0)