public static InstructionLine FromDataString(string data) { var result = new InstructionLine(); var pairs = data.ToNameValuePairs(); foreach (var pair in pairs) { switch (pair.Name) { case "address": result.Address = Convert.ToUInt64(pair.Value.Substring(2), 16); break; case "func-name": result.FunctionName = pair.Value; break; case "offset": result.Offset = Convert.ToInt32(pair.Value); break; case "opcodes": result.OpCodes = pair.Value; break; case "inst": result.Instruction = pair.Value.Replace("\\t", "\t"); break; default: break; //throw new NotImplementedException (); } } return(result); }
public static InstructionLine FromDataString(string data) { var result = new InstructionLine(); var pairs = data.ToNameValuePairs(); foreach (var pair in pairs) { switch (pair.Name) { case "address": result.Address = Convert.ToUInt64(pair.Value.Substring(2), 16); break; case "func-name": result.FunctionName = pair.Value; break; case "offset": result.Offset = Convert.ToInt32(pair.Value); break; case "opcodes": result.OpCodes = pair.Value; break; case "inst": result.Instruction = pair.Value.Replace("\\t", "\t"); break; default: break; //throw new NotImplementedException (); } } return result; }
public InstructionLineViewModel(InstructionLine model) : base(model) { }
public static List <InstructionLine> FromDataString(string data) { var result = new List <InstructionLine>(); var pairs = data.ToNameValuePairs(); if (data[0] == '{') { result = new List <InstructionLine>(); result.Add(InstructionLine.FromDataString(data.RemoveBraces())); } //else //{ // foreach (var pair in pairs) // { // switch (pair.Name) // { // case "src_and_asm_line": // var mixedPairs = pair.Value.RemoveBraces ().ToNameValues (); // var sourceLine = new SourceLine (); // var instructionLines = new List<InstructionLine> (); // foreach (var internalPair in mixedPairs) // { // switch (internalPair.Name) // { // case "line": // sourceLine.Line = Convert.ToInt32 (internalPair.Value); // break; // case "file": // sourceLine.File = internalPair.Value; // break; // case "fullname": // sourceLine.FullFileName = internalPair.Value; // break; // case "line_asm_insn": // var instructions = internalPair.Value.ToArray (); // foreach (var instruction in instructions) // { // instructionLines.Add (InstructionLine.FromDataString (instruction.RemoveBraces ())); // } // break; // default: // throw new NotImplementedException (); // } // } // result.Add (sourceLine); // result.AddRange (instructionLines); // break; // default: // throw new NotImplementedException (); // } //} //} return(result); }