protected override ICode VisitFieldAddress(ExprFieldAddress e) { this.fieldAccesses.Add(e.Field); return base.VisitFieldAddress(e); }
protected override ICode VisitFieldAddress(ExprFieldAddress e) { this.code.Append("@("); if (e.IsStatic) { this.code.Append(e.Field.DeclaringType.FullName); } else { this.Visit(e.Obj); } this.code.Append("."); this.code.Append(e.Field.Name); this.code.Append(")"); return e; }
protected override ICode VisitFieldAddress(ExprFieldAddress e) { if (!e.IsStatic) { this.Visit(e.Obj); this.js.Append("."); } this.js.Append(this.resolver.FieldNames[e.Field]); return e; }
private Stmt LoadFieldAddress(Instruction inst) { var obj = this.stack.Pop(); var fRef = ((FieldReference)inst.Operand).FullResolve(this.ctx); var expr = new ExprFieldAddress(this.ctx, obj, fRef); this.stack.Push(expr); return null; }