internal static ObjLuaCode Unserialize(System.IO.BinaryReader reader, ObjLuaFunction parent) { uint val = reader.ReadUInt32(); ObjLuaCode ret = ObjLuaCode.CreateOperator(val, parent); return(ret); }
public void Dispose() { parent = null; str = null; badd = null; bheader = null; bdata = null; }
public static ObjLuaCode CreateOperator(uint val, ObjLuaFunction parent) { byte oc = GetOpCode(val, parent); Type t = GetOpcodeType(oc); ObjLuaCode ret = (ObjLuaCode)System.Activator.CreateInstance(t, new object[] { val, parent }); return(ret); }
public ObjLuaConstant(ObjLuaFunction parent) { this.parent = parent; str = ""; bdata = new uint[0]; badd = new byte[0]; bheader = new byte[3]; }
public ObjLua() : base() { resversion = 0; version = 0x50; byteorder = Endian.little; intsz = 4; sztsz = 4; instsz = 4; operandbits = 6; bits1 = 8; bits2 = 9; bits3 = 9; nrsz = 8; id = 0x61754C1B; sample = new byte[] { 0xb6, 0x09, 0x93, 0x68, 0xe7, 0xf5, 0x7d, 0x41 }; flname = ""; root = new ObjLuaFunction(this); }
public ObjLuaSourceLine(ObjLuaFunction parent) { this.parent = parent; }
internal void Unserialize(System.IO.BinaryReader reader) { contants.Clear(); functions.Clear(); codes.Clear(); srcln.Clear(); local.Clear(); upval.Clear(); name = ObjLua.ReadString(reader); linedef = reader.ReadUInt32(); nups = reader.ReadByte(); argc = reader.ReadByte(); isinout = reader.ReadByte(); stacksz = reader.ReadByte(); uint linenfosz = reader.ReadUInt32(); for (uint i = 0; i < linenfosz; i++) { ObjLuaSourceLine item = new ObjLuaSourceLine(this); item.Unserialize(reader); srcln.Add(item); } uint locvarsz = reader.ReadUInt32(); for (uint i = 0; i < locvarsz; i++) { ObjLuaLocalVar item = new ObjLuaLocalVar(this); item.Unserialize(reader); local.Add(item); } uint upvalsz = reader.ReadUInt32(); for (uint i = 0; i < upvalsz; i++) { ObjLuaUpValue item = new ObjLuaUpValue(this); item.Unserialize(reader); upval.Add(item); } uint constsz = reader.ReadUInt32(); for (uint i = 0; i < constsz; i++) { ObjLuaConstant item = new ObjLuaConstant(this); item.Unserialize(reader); contants.Add(item); } uint fncsz = reader.ReadUInt32(); for (uint i = 0; i < fncsz; i++) { ObjLuaFunction item = new ObjLuaFunction(this.parent); item.Unserialize(reader); functions.Add(item); } uint codesz = reader.ReadUInt32(); for (uint i = 0; i < codesz; i++) { ObjLuaCode item = ObjLuaCode.Unserialize(reader, this); codes.Add(item); } }
public ObjLuaCode(uint val, ObjLuaFunction parent) { this.parent = parent; this.val = val; }
public ObjLuaCode(ObjLuaFunction parent) : this(0, parent) { }
protected static byte GetOpCode(uint val, ObjLuaFunction parent) { return((byte)((val & (parent.Parent.OpcodeMaks << parent.Parent.OpcodeShift)) >> parent.Parent.OpcodeShift)); }
public ObjLuaUpValue(ObjLuaFunction parent) : base(parent) { }
public ObjLuaLocalVar(ObjLuaFunction parent) { this.parent = parent; name = ""; }