mirror of
https://github.com/ZuneDev/ZuneUIXTools.git
synced 2026-07-27 13:11:59 -07:00
Add constants and qualified type names to lexer, and use instruction schema to decode UIB instrctions
This commit is contained in:
@@ -119,31 +119,31 @@ internal static class InstructionSet
|
||||
[OpCode.ReturnValue] = [],
|
||||
[OpCode.ReturnVoid] = [],
|
||||
|
||||
[OpCode.ConstructObject] = Inst_UInt16,
|
||||
[OpCode.ConstructObject] = [LiteralDataType.TypeIndex],
|
||||
[OpCode.ConstructObjectIndirect] = Inst_UInt16,
|
||||
[OpCode.InitializeInstance] = Inst_UInt16,
|
||||
[OpCode.LookupSymbol] = Inst_UInt16,
|
||||
[OpCode.WriteSymbol] = Inst_UInt16,
|
||||
[OpCode.WriteSymbolPeek] = Inst_UInt16,
|
||||
[OpCode.ClearSymbol] = Inst_UInt16,
|
||||
[OpCode.PropertyInitialize] = Inst_UInt16,
|
||||
[OpCode.PropertyInitializeIndirect] = Inst_UInt16,
|
||||
[OpCode.PropertyListAdd] = Inst_UInt16,
|
||||
[OpCode.PropertyAssign] = Inst_UInt16,
|
||||
[OpCode.PropertyAssignStatic] = Inst_UInt16,
|
||||
[OpCode.PropertyGet] = Inst_UInt16,
|
||||
[OpCode.PropertyGetPeek] = Inst_UInt16,
|
||||
[OpCode.PropertyGetStatic] = Inst_UInt16,
|
||||
[OpCode.MethodInvoke] = Inst_UInt16,
|
||||
[OpCode.MethodInvokePeek] = Inst_UInt16,
|
||||
[OpCode.MethodInvokeStatic] = Inst_UInt16,
|
||||
[OpCode.MethodInvokePushLastParam] = Inst_UInt16,
|
||||
[OpCode.MethodInvokeStaticPushLastParam] = Inst_UInt16,
|
||||
[OpCode.VerifyTypeCast] = Inst_UInt16,
|
||||
[OpCode.IsCheck] = Inst_UInt16,
|
||||
[OpCode.As] = Inst_UInt16,
|
||||
[OpCode.TypeOf] = Inst_UInt16,
|
||||
[OpCode.PushConstant] = Inst_UInt16,
|
||||
[OpCode.InitializeInstance] = [LiteralDataType.TypeIndex],
|
||||
[OpCode.LookupSymbol] = [LiteralDataType.SymbolRefIndex],
|
||||
[OpCode.WriteSymbol] = [LiteralDataType.SymbolRefIndex],
|
||||
[OpCode.WriteSymbolPeek] = [LiteralDataType.SymbolRefIndex],
|
||||
[OpCode.ClearSymbol] = [LiteralDataType.SymbolRefIndex],
|
||||
[OpCode.PropertyInitialize] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyInitializeIndirect] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyListAdd] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyAssign] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyAssignStatic] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyGet] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyGetPeek] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.PropertyGetStatic] = [LiteralDataType.PropertyIndex],
|
||||
[OpCode.MethodInvoke] = [LiteralDataType.MethodIndex],
|
||||
[OpCode.MethodInvokePeek] = [LiteralDataType.MethodIndex],
|
||||
[OpCode.MethodInvokeStatic] = [LiteralDataType.MethodIndex],
|
||||
[OpCode.MethodInvokePushLastParam] = [LiteralDataType.MethodIndex],
|
||||
[OpCode.MethodInvokeStaticPushLastParam] = [LiteralDataType.MethodIndex],
|
||||
[OpCode.VerifyTypeCast] = [LiteralDataType.TypeIndex],
|
||||
[OpCode.IsCheck] = [LiteralDataType.TypeIndex],
|
||||
[OpCode.As] = [LiteralDataType.TypeIndex],
|
||||
[OpCode.TypeOf] = [LiteralDataType.TypeIndex],
|
||||
[OpCode.PushConstant] = [LiteralDataType.ConstantIndex],
|
||||
[OpCode.ConstructListenerStorage] = Inst_UInt16,
|
||||
|
||||
[OpCode.JumpIfFalse] = Inst_UInt32,
|
||||
@@ -154,16 +154,16 @@ internal static class InstructionSet
|
||||
|
||||
[OpCode.EnterDebugState] = [LiteralDataType.Int32],
|
||||
|
||||
[OpCode.ConstructObjectParam] = Inst_UInt16x2,
|
||||
[OpCode.ConstructFromString] = Inst_UInt16x2,
|
||||
[OpCode.PropertyDictionaryAdd] = Inst_UInt16x2,
|
||||
[OpCode.ConvertType] = Inst_UInt16x2,
|
||||
[OpCode.ConstructObjectParam] = [LiteralDataType.TypeIndex, LiteralDataType.UInt16],
|
||||
[OpCode.ConstructFromString] = [LiteralDataType.TypeIndex, LiteralDataType.ConstantIndex],
|
||||
[OpCode.PropertyDictionaryAdd] = [LiteralDataType.TypeIndex, LiteralDataType.ConstantIndex],
|
||||
[OpCode.ConvertType] = [LiteralDataType.TypeIndex, LiteralDataType.TypeIndex],
|
||||
|
||||
[OpCode.JumpIfDictionaryContains] = [LiteralDataType.UInt16, LiteralDataType.UInt16, LiteralDataType.UInt32],
|
||||
[OpCode.JumpIfDictionaryContains] = [LiteralDataType.PropertyIndex, LiteralDataType.UInt16, LiteralDataType.UInt32],
|
||||
|
||||
[OpCode.ConstructFromBinary] = [LiteralDataType.UInt16, LiteralDataType.Bytes],
|
||||
[OpCode.ConstructFromBinary] = [LiteralDataType.TypeIndex, LiteralDataType.Bytes],
|
||||
|
||||
[OpCode.Operation] = [LiteralDataType.UInt16, LiteralDataType.Byte],
|
||||
[OpCode.Operation] = [LiteralDataType.OpHostIndex, LiteralDataType.Byte],
|
||||
|
||||
[OpCode.Listen] = [LiteralDataType.UInt16, LiteralDataType.Byte, LiteralDataType.UInt16, LiteralDataType.UInt32],
|
||||
[OpCode.DestructiveListen] = [LiteralDataType.UInt16, LiteralDataType.Byte, LiteralDataType.UInt16, LiteralDataType.UInt32, LiteralDataType.UInt32],
|
||||
|
||||
Reference in New Issue
Block a user