(C context, ObjExpr objx, GeneratorAdapter gen, Expr val)
| 1521 | } |
| 1522 | |
| 1523 | public void emitAssign(C context, ObjExpr objx, GeneratorAdapter gen, |
| 1524 | Expr val){ |
| 1525 | if(targetClass != null && field != null) |
| 1526 | { |
| 1527 | target.emit(C.EXPRESSION, objx, gen); |
| 1528 | gen.checkCast(getType(targetClass)); |
| 1529 | val.emit(C.EXPRESSION, objx, gen); |
| 1530 | gen.visitLineNumber(line, gen.mark()); |
| 1531 | gen.dupX1(); |
| 1532 | HostExpr.emitUnboxArg(objx, gen, field.getType()); |
| 1533 | gen.putField(getType(targetClass), fieldName, Type.getType(field.getType())); |
| 1534 | } |
| 1535 | else |
| 1536 | { |
| 1537 | target.emit(C.EXPRESSION, objx, gen); |
| 1538 | gen.push(fieldName); |
| 1539 | val.emit(C.EXPRESSION, objx, gen); |
| 1540 | gen.visitLineNumber(line, gen.mark()); |
| 1541 | gen.invokeStatic(REFLECTOR_TYPE, setInstanceFieldMethod); |
| 1542 | } |
| 1543 | if(context == C.STATEMENT) |
| 1544 | gen.pop(); |
| 1545 | } |
| 1546 | } |
| 1547 | |
| 1548 | static class StaticFieldExpr extends FieldExpr implements AssignableExpr{ |
nothing calls this directly
no test coverage detected