Complex RTTI Parsers Update
This commit is contained in:
@@ -49,6 +49,8 @@ type
|
||||
//function GetIncLibs():string;
|
||||
function GetText:string;override;
|
||||
procedure SetText(const S:string);override;
|
||||
class procedure AddToStack(State:Plua_State;Data:TValue);static;
|
||||
class function GetFromStack(State:Plua_State):TValue;static;
|
||||
public
|
||||
constructor Create(Compiler:TRTBLuaCompiler);
|
||||
|
||||
@@ -76,9 +78,6 @@ type
|
||||
procedure RegisterFunction(const NameSpace,Name:string);override;
|
||||
procedure UnRegisterFunction(const NameSpace,Name:string);override;
|
||||
|
||||
class procedure AddToStack(State:Plua_State;Data:TValue);static;
|
||||
class function GetFromStack(State:Plua_State):TValue;static;
|
||||
|
||||
function Compilate:TRTBModule;override;
|
||||
destructor Destroy;override;
|
||||
end;
|
||||
@@ -154,7 +153,7 @@ begin
|
||||
lua_getfield(State,LUA_GLOBALSINDEX,PAnsiChar(Name));
|
||||
for i in args do
|
||||
TRTBLuaSource.AddToStack(State,i);
|
||||
lua_pcall(State,length(args),1);
|
||||
lua_call(State,length(args),1);
|
||||
Result:=TRTBLuaSource.GetFromStack(State);
|
||||
end;
|
||||
|
||||
@@ -214,43 +213,6 @@ begin
|
||||
FText:=S;
|
||||
end;
|
||||
|
||||
constructor TRTBLuaCompiler.TRTBLuaSource.Create(Compiler:TRTBLuaCompiler);
|
||||
begin
|
||||
inherited Create(Compiler);
|
||||
FText:='';
|
||||
libs:=TStringList.Create;
|
||||
funcs:=TStringList.Create;
|
||||
regvars:=TList<TPair<string,PTypeInfo>>.Create;
|
||||
consts:=TList<TPair<string,TValue>>.Create;
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.LoadLib(const Name:string);
|
||||
begin
|
||||
libs.Add(Name);
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.UnLoadLib(const Name:string);
|
||||
begin
|
||||
with libs do
|
||||
Delete(IndexOf(Name));
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.&Register(const NameSpace,Name:string;&Type:TRTBType);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.UnRegister(const NameSpace,Name:string);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.RegisterFunction(const NameSpace,Name:string);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.UnRegisterFunction(const NameSpace,Name:string);
|
||||
begin
|
||||
end;
|
||||
|
||||
class procedure TRTBLuaCompiler.TRTBLuaSource.AddToStack(State:Plua_State;Data:TValue);
|
||||
var
|
||||
i:NativeUInt;
|
||||
@@ -326,6 +288,43 @@ end;
|
||||
lua_pop(State,1);
|
||||
end;
|
||||
|
||||
constructor TRTBLuaCompiler.TRTBLuaSource.Create(Compiler:TRTBLuaCompiler);
|
||||
begin
|
||||
inherited Create(Compiler);
|
||||
FText:='';
|
||||
libs:=TStringList.Create;
|
||||
funcs:=TStringList.Create;
|
||||
regvars:=TList<TPair<string,PTypeInfo>>.Create;
|
||||
consts:=TList<TPair<string,TValue>>.Create;
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.LoadLib(const Name:string);
|
||||
begin
|
||||
libs.Add(Name);
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.UnLoadLib(const Name:string);
|
||||
begin
|
||||
with libs do
|
||||
Delete(IndexOf(Name));
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.&Register(const NameSpace,Name:string;&Type:TRTBType);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.UnRegister(const NameSpace,Name:string);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.RegisterFunction(const NameSpace,Name:string);
|
||||
begin
|
||||
end;
|
||||
|
||||
procedure TRTBLuaCompiler.TRTBLuaSource.UnRegisterFunction(const NameSpace,Name:string);
|
||||
begin
|
||||
end;
|
||||
|
||||
function TRTBLuaCompiler.TRTBLuaSource.Compilate:TRTBModule;
|
||||
procedure ConstParse(key:string;value:TValue;var PreDecl:string;var base:NativeUInt);
|
||||
var
|
||||
|
||||
Reference in New Issue
Block a user