org_apache_dubbo_rpc_cluster_router_mesh_rule_virtualservice_match_DubboAttachmentMatchTest_java
net.bytebuddy.asm.Advice$StackMapFrameHandler$Default$WithPreservedArguments$UsingArgumentCopy
@Override
    public void injectStartFrame(MethodVisitor methodVisitor) {
        if (!this.instrumentedMethod.isStatic() || !this.instrumentedMethod.getParameters().isEmpty()) {
            if (!this.expandFrames && (this.instrumentedMethod.isStatic() ? 0 : 1) + this.instrumentedMethod.getParameters().size() < 4) {
                Object[] localVariable = new Object[(this.instrumentedMethod.isStatic() ? 0 : 1) + this.instrumentedMethod.getParameters().size()];
                int index = 0;
                if (this.instrumentedMethod.isConstructor()) {
                    localVariable[index++] = Opcodes.UNINITIALIZED_THIS;
                } else if (!this.instrumentedMethod.isStatic()) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(this.instrumentedType);
                }
                for (TypeDescription typeDescription : this.instrumentedMethod.getParameters().asTypeList().asErasures()) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(typeDescription);
                }
                methodVisitor.visitFrame(1, localVariable.length, localVariable, EMPTY.length, EMPTY);
            } else {
                Object[] localVariable = new Object[(this.instrumentedMethod.isStatic() ? 0 : 2) + this.instrumentedMethod.getParameters().size() * 2 + this.initialTypes.size() + this.preMethodTypes.size()];
                int index = 0;
                if (this.instrumentedMethod.isConstructor()) {
                    localVariable[index++] = Opcodes.UNINITIALIZED_THIS;
                } else if (!this.instrumentedMethod.isStatic()) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(this.instrumentedType);
                }
                for (TypeDescription typeDescription : this.instrumentedMethod.getParameters().asTypeList().asErasures()) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(typeDescription);
                }
                for (TypeDescription typeDescription : this.initialTypes) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(typeDescription);
                }
                for (TypeDescription typeDescription : this.preMethodTypes) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(typeDescription);
                }
                if (this.instrumentedMethod.isConstructor()) {
                    localVariable[index++] = Opcodes.UNINITIALIZED_THIS;
                } else if (!this.instrumentedMethod.isStatic()) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(this.instrumentedType);
                }
                for (TypeDescription typeDescription : this.instrumentedMethod.getParameters().asTypeList().asErasures()) {
                    localVariable[index++] = Advice.StackMapFrameHandler.Default.Initialization.INITIALIZED.toFrame(typeDescription);
                }
                methodVisitor.visitFrame(this.expandFrames ? -1 : 0, localVariable.length, localVariable, EMPTY.length, EMPTY);
            }
        }
        this.currentFrameDivergence = (this.instrumentedMethod.isStatic() ? 0 : 1) + this.instrumentedMethod.getParameters().size();
    }
 -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.replace(char,char): java.lang.String -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.lang.String.hashCode(): int -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int -> java.util.List.size(): int -> java.util.List.size(): int -> java.util.List.size(): int
 [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.indexOf(int): int [EXIT] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.String.replace(char,char): java.lang.String [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.List.size(): int [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [CALL] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] -> java.util.List.size(): int [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.hashCode(): int [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] -> java.lang.Math.max(int,int): int -> java.lang.Math.max(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [CALL] -> java.util.List.size(): int [EXIT] [EXIT] [EXIT] [EXIT]