public void loadFrameClass() { // when present, should be second-to-last element in signature adapter.aload(signature.argCount() - 2); }
public void loadFrameClass() { // when present, should be second-to-last element in signature adapter.aload(signature.argCount() - 2); }
/** * Collect arguments matching namePattern into an trailing array argument * named outName. * * The namePattern is a standard regular expression. * * @param outName the name of the new array argument * @param namePattern a pattern with which to match arguments for collecting * @return a new SmartBinder with the collect applied */ public SmartBinder collect(String outName, String namePattern) { int index = signature().argOffsets(namePattern); assert index >= 0 : "no arguments matching " + namePattern + " found in signature " + signature(); Signature newSignature = signature().collect(outName, namePattern); return new SmartBinder(this, newSignature, binder.collect(index, signature().argCount() - (newSignature.argCount() - 1), Array.newInstance(signature().argType(index), 0).getClass())); }
public MethodData(IRBytecodeAdapter method, IRScope scope, Signature signature, int specificArity) { this.method = method; this.scope = scope; this.signature = signature; this.specificArity = specificArity; // incoming arguments for (int i = 0; i < signature.argCount(); i++) { local("$" + signature.argName(i), Type.getType(signature.argType(i))); } // TODO: this should go into the PushBinding instruction local("$dynamicScope"); }
public MethodData(IRBytecodeAdapter method, IRScope scope, Signature signature, int specificArity) { this.method = method; this.scope = scope; this.signature = signature; this.specificArity = specificArity; // incoming arguments for (int i = 0; i < signature.argCount(); i++) { local("$" + signature.argName(i), Type.getType(signature.argType(i))); } // TODO: this should go into the PushBinding instruction local("$dynamicScope"); }