| 4511 | } |
| 4512 | |
| 4513 | protected void emitMethods(ClassVisitor cv){ |
| 4514 | //override of invoke/doInvoke for each method |
| 4515 | for(ISeq s = RT.seq(methods); s != null; s = s.next()) |
| 4516 | { |
| 4517 | ObjMethod method = (ObjMethod) s.first(); |
| 4518 | method.emit(this, cv); |
| 4519 | } |
| 4520 | |
| 4521 | if(isVariadic()) |
| 4522 | { |
| 4523 | GeneratorAdapter gen = new GeneratorAdapter(ACC_PUBLIC, |
| 4524 | Method.getMethod("int getRequiredArity()"), |
| 4525 | null, |
| 4526 | null, |
| 4527 | cv); |
| 4528 | gen.visitCode(); |
| 4529 | gen.push(variadicMethod.reqParms.count()); |
| 4530 | gen.returnValue(); |
| 4531 | gen.endMethod(); |
| 4532 | } |
| 4533 | } |
| 4534 | |
| 4535 | static Expr parse(C context, ISeq form, String name) { |
| 4536 | ISeq origForm = form; |