コード例 #1
0
        public override void Serialize(ScopeInstruction template)
        {
            var parts = template.Operand.Split('.');

            Type      = parts[parts.Length - 1];
            _template = template;
        }
コード例 #2
0
ファイル: Ldelem.cs プロジェクト: Wincent01/SharpC
        public override void Serialize(ScopeInstruction template)
        {
            if (template.Name.Split('.')[1] == "ref")
            {
                _ref = true;
                return;
            }

            _type = CType.ResolveConv(template.Name.Split('.')[1]);
        }
コード例 #3
0
ファイル: Ldloc.cs プロジェクト: Wincent01/SharpC
 public override void Serialize(ScopeInstruction template)
 {
     if (template.Operand.Contains("V"))
     {
         Point = int.Parse(template.Operand.Split('_')[1]) - 1;
     }
     else
     {
         Point = int.Parse(template.Name.Split('.')[1]);
     }
 }
コード例 #4
0
ファイル: Callvirt.cs プロジェクト: Wincent01/SharpC
        public override void Serialize(ScopeInstruction template)
        {
            var parts = template.Operand.Split(':');

            _objName = parts[2].Split('(')[0].Split('<')[0];

            var clsParts = parts[0].Split('.');

            _className = clsParts[clsParts.Length - 1];

            _template = template;
        }
コード例 #5
0
ファイル: Ldarg.cs プロジェクト: Wincent01/SharpC
        public override void Serialize(ScopeInstruction template)
        {
            var parts = template.Name.Split('.');

            if (parts.Length == 2)
            {
                _at = int.Parse(parts[1]);
                return;
            }

            _at = parts[1] == "s" ? int.Parse(template.Operand) : int.Parse(parts[1]) - 1;
            if (_at < 0)
            {
                _at = 0;
            }
        }
コード例 #6
0
ファイル: Ldarg.cs プロジェクト: Wincent01/SharpC
 public override void Serialize(ScopeInstruction template)
 {
     _arg = template.Operand;
 }
コード例 #7
0
 public override void Serialize(ScopeInstruction template)
 {
     Type = CType.ResolveConv(template.Name.Split('.')[1]);
 }
コード例 #8
0
ファイル: Conv.cs プロジェクト: Wincent01/SharpC
        public override void Serialize(ScopeInstruction template)
        {
            var parts = template.Name.Split('.');

            _convCode = parts[parts.Length - 1];
        }
コード例 #9
0
ファイル: Ldfld.cs プロジェクト: Wincent01/SharpC
 public override void Serialize(ScopeInstruction template)
 {
     _field = template.Operand.Split(':')[2];
 }
コード例 #10
0
ファイル: Newobj.cs プロジェクト: Wincent01/SharpC
        public override void Serialize(ScopeInstruction template)
        {
            var parts = template.Operand.Split(':');

            ObjName = parts[0].Split('.')[parts[0].Split('.').Length - 1];
        }
コード例 #11
0
ファイル: Switch.cs プロジェクト: Wincent01/SharpC
 public override void Serialize(ScopeInstruction template)
 {
     _instructions = (Instruction[])template.Template.Operand;
     _instruction  = template;
 }
コード例 #12
0
 /// <summary>
 /// Serialize CIL instruction
 /// </summary>
 /// <param name="template">Scope Instruction to serialize</param>
 public virtual void Serialize(ScopeInstruction template)
 {
 }
コード例 #13
0
 public override void Serialize(ScopeInstruction template)
 {
     _instruction = template;
 }
コード例 #14
0
ファイル: Ldstr.cs プロジェクト: Wincent01/SharpC
 public override void Serialize(ScopeInstruction template)
 {
     Value = template.Operand.Trim('"');
 }
コード例 #15
0
ファイル: Castclass.cs プロジェクト: Wincent01/SharpC
        public override void Serialize(ScopeInstruction template)
        {
            var parts = template.Operand.Split('.');

            _castClass = parts[parts.Length - 1];
        }