(C context, ObjExpr objx, GeneratorAdapter gen)
| 2276 | } |
| 2277 | |
| 2278 | public void emitUnboxed(C context, ObjExpr objx, GeneratorAdapter gen){ |
| 2279 | if(method != null) |
| 2280 | { |
| 2281 | MethodExpr.emitTypedArgs(objx, gen, method.getParameterTypes(), args); |
| 2282 | gen.visitLineNumber(line, gen.mark()); |
| 2283 | //Type type = Type.getObjectType(className.replace('.', '/')); |
| 2284 | if(context == C.RETURN) |
| 2285 | { |
| 2286 | ObjMethod method = (ObjMethod) METHOD.deref(); |
| 2287 | method.emitClearLocals(gen); |
| 2288 | } |
| 2289 | Object ops = RT.get(Intrinsics.ops, method.toString()); |
| 2290 | if(ops != null) |
| 2291 | { |
| 2292 | if(ops instanceof Object[]) |
| 2293 | { |
| 2294 | for(Object op : (Object[])ops) |
| 2295 | gen.visitInsn((Integer) op); |
| 2296 | } |
| 2297 | else |
| 2298 | gen.visitInsn((Integer) ops); |
| 2299 | } |
| 2300 | else |
| 2301 | { |
| 2302 | Type type = Type.getType(c); |
| 2303 | Method m = new Method(methodName, Type.getReturnType(method), Type.getArgumentTypes(method)); |
| 2304 | gen.visitMethodInsn(INVOKESTATIC, type.getInternalName(), methodName, m.getDescriptor(), c.isInterface()); |
| 2305 | } |
| 2306 | } |
| 2307 | else |
| 2308 | throw new UnsupportedOperationException("Unboxed emit of unknown member"); |
| 2309 | } |
| 2310 | |
| 2311 | public void emit(C context, ObjExpr objx, GeneratorAdapter gen){ |
| 2312 | if(method != null) |
nothing calls this directly
no test coverage detected