(C context, ObjExpr objx, GeneratorAdapter gen)
| 481 | } |
| 482 | |
| 483 | public void emit(C context, ObjExpr objx, GeneratorAdapter gen){ |
| 484 | objx.emitVar(gen, var); |
| 485 | if(isDynamic) |
| 486 | { |
| 487 | gen.push(isDynamic); |
| 488 | gen.invokeVirtual(VAR_TYPE, setDynamicMethod); |
| 489 | } |
| 490 | if(meta != null) |
| 491 | { |
| 492 | if (initProvided || true)//includesExplicitMetadata((MapExpr) meta)) |
| 493 | { |
| 494 | gen.dup(); |
| 495 | meta.emit(C.EXPRESSION, objx, gen); |
| 496 | gen.checkCast(IPERSISTENTMAP_TYPE); |
| 497 | gen.invokeVirtual(VAR_TYPE, setMetaMethod); |
| 498 | } |
| 499 | } |
| 500 | if(initProvided) |
| 501 | { |
| 502 | gen.dup(); |
| 503 | if(init instanceof FnExpr) |
| 504 | { |
| 505 | ((FnExpr)init).emitForDefn(objx, gen); |
| 506 | } |
| 507 | else |
| 508 | init.emit(C.EXPRESSION, objx, gen); |
| 509 | gen.invokeVirtual(VAR_TYPE, bindRootMethod); |
| 510 | } |
| 511 | |
| 512 | if(context == C.STATEMENT) |
| 513 | gen.pop(); |
| 514 | } |
| 515 | |
| 516 | public boolean hasJavaClass(){ |
| 517 | return true; |
nothing calls this directly
no test coverage detected