public void Visit(FieldAddressEntry entry) { Print($"FLD_ADDR {entry.Name}"); _indent++; entry.Op1.Accept(this); _indent--; }
public void Import(Instruction instruction, ImportContext context, IILImporterProxy importer) { var fieldDefOrRef = instruction.Operand as IField; var fieldDef = fieldDefOrRef.ResolveFieldDef(); var obj = importer.PopExpression(); if (obj.Kind != StackValueKind.ObjRef && obj.Kind != StackValueKind.ByRef) { throw new NotImplementedException($"LoadFieldImporter does not support {obj.Kind}"); } var node = new FieldAddressEntry(fieldDef.Name, obj, fieldDef?.FieldOffset ?? 0); importer.PushExpression(node); }
public void Visit(FieldAddressEntry entry) { _sb.AppendLine($" ┌──▌ t{entry.Op1.TreeID}"); _sb.AppendLine($" fieldAddr {entry.Name}"); }
public void Visit(FieldAddressEntry entry) { _genericStackEntryVisitor.Visit <FieldAddressEntry>(entry); }
public void Visit(FieldAddressEntry entry) { entry.Op1.Accept(this); SetNext(entry); }