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;
 }
Example #3
0
 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;
 }