BshMethod.smali

.class public Lbsh/BshMethod;
.super Ljava/lang/Object;

# interfaces
.implements Ljava/io/Serializable;


# instance fields
.field a:Lbsh/NameSpace;

.field b:Lbsh/Modifiers;

.field c:Lbsh/BSHBlock;

.field private d:Ljava/lang/String;

.field private e:Ljava/lang/Class;

.field private f:[Ljava/lang/String;

.field private g:I

.field private h:[Ljava/lang/Class;

.field private i:Ljava/lang/reflect/Method;

.field private j:Ljava/lang/Object;


# direct methods
.method constructor <init>(Lbsh/BSHMethodDeclaration;Lbsh/NameSpace;Lbsh/Modifiers;)V
    .registers 12

    iget-object v1, p1, Lbsh/BSHMethodDeclaration;->a:Ljava/lang/String;

    iget-object v2, p1, Lbsh/BSHMethodDeclaration;->g:Ljava/lang/Class;

    iget-object v0, p1, Lbsh/BSHMethodDeclaration;->c:Lbsh/BSHFormalParameters;

    invoke-virtual {v0}, Lbsh/BSHFormalParameters;->b()[Ljava/lang/String;

    move-result-object v3

    iget-object v0, p1, Lbsh/BSHMethodDeclaration;->c:Lbsh/BSHFormalParameters;

    iget-object v4, v0, Lbsh/BSHFormalParameters;->a:[Ljava/lang/Class;

    iget-object v5, p1, Lbsh/BSHMethodDeclaration;->d:Lbsh/BSHBlock;

    move-object v0, p0

    move-object v6, p2

    move-object v7, p3

    invoke-direct/range {v0 .. v7}, Lbsh/BshMethod;-><init>(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/String;[Ljava/lang/Class;Lbsh/BSHBlock;Lbsh/NameSpace;Lbsh/Modifiers;)V

    return-void
.end method

.method constructor <init>(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/String;[Ljava/lang/Class;Lbsh/BSHBlock;Lbsh/NameSpace;Lbsh/Modifiers;)V
    .registers 9

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    iput-object p1, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    iput-object p2, p0, Lbsh/BshMethod;->e:Ljava/lang/Class;

    iput-object p3, p0, Lbsh/BshMethod;->f:[Ljava/lang/String;

    if-eqz p3, :cond_e

    array-length v0, p3

    iput v0, p0, Lbsh/BshMethod;->g:I

    :cond_e
    iput-object p4, p0, Lbsh/BshMethod;->h:[Ljava/lang/Class;

    iput-object p5, p0, Lbsh/BshMethod;->c:Lbsh/BSHBlock;

    iput-object p6, p0, Lbsh/BshMethod;->a:Lbsh/NameSpace;

    iput-object p7, p0, Lbsh/BshMethod;->b:Lbsh/Modifiers;

    return-void
.end method

.method constructor <init>(Ljava/lang/reflect/Method;Ljava/lang/Object;)V
    .registers 11

    const/4 v3, 0x0

    invoke-virtual {p1}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p1}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {p1}, Ljava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;

    move-result-object v4

    move-object v0, p0

    move-object v5, v3

    move-object v6, v3

    move-object v7, v3

    invoke-direct/range {v0 .. v7}, Lbsh/BshMethod;-><init>(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/String;[Ljava/lang/Class;Lbsh/BSHBlock;Lbsh/NameSpace;Lbsh/Modifiers;)V

    iput-object p1, p0, Lbsh/BshMethod;->i:Ljava/lang/reflect/Method;

    iput-object p2, p0, Lbsh/BshMethod;->j:Ljava/lang/Object;

    return-void
.end method

.method private b([Ljava/lang/Object;Lbsh/Interpreter;Lbsh/c;Lbsh/SimpleNode;Z)Ljava/lang/Object;
    .registers 15

    invoke-virtual {p0}, Lbsh/BshMethod;->b()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {p0}, Lbsh/BshMethod;->a()[Ljava/lang/Class;

    move-result-object v3

    if-nez p3, :cond_11

    new-instance p3, Lbsh/c;

    iget-object v0, p0, Lbsh/BshMethod;->a:Lbsh/NameSpace;

    invoke-direct {p3, v0}, Lbsh/c;-><init>(Lbsh/NameSpace;)V

    :cond_11
    if-nez p1, :cond_16

    const/4 v0, 0x0

    new-array p1, v0, [Ljava/lang/Object;

    :cond_16
    array-length v0, p1

    iget v1, p0, Lbsh/BshMethod;->g:I

    if-eq v0, v1, :cond_37

    new-instance v0, Lbsh/EvalError;

    new-instance v1, Ljava/lang/StringBuffer;

    invoke-direct {v1}, Ljava/lang/StringBuffer;-><init>()V

    const-string/jumbo v2, "Wrong number of arguments for local method: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    iget-object v2, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1, p4, p3}, Lbsh/EvalError;-><init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V

    throw v0

    :cond_37
    if-eqz p5, :cond_7f

    invoke-virtual {p3}, Lbsh/c;->b()Lbsh/NameSpace;

    move-result-object v0

    :goto_3d
    invoke-virtual {v0, p4}, Lbsh/NameSpace;->a(Lbsh/SimpleNode;)V

    const/4 v1, 0x0

    :goto_41
    iget v4, p0, Lbsh/BshMethod;->g:I

    if-lt v1, v4, :cond_8c

    if-nez p5, :cond_4a

    invoke-virtual {p3, v0}, Lbsh/c;->a(Lbsh/NameSpace;)V

    :cond_4a
    iget-object v0, p0, Lbsh/BshMethod;->c:Lbsh/BSHBlock;

    const/4 v1, 0x1

    invoke-virtual {v0, p3, p2, v1}, Lbsh/BSHBlock;->a(Lbsh/c;Lbsh/Interpreter;Z)Ljava/lang/Object;

    move-result-object v1

    invoke-virtual {p3}, Lbsh/c;->f()Lbsh/c;

    move-result-object v3

    if-nez p5, :cond_5a

    invoke-virtual {p3}, Lbsh/c;->c()Lbsh/NameSpace;

    :cond_5a
    const/4 v0, 0x0

    instance-of v4, v1, Lbsh/p;

    if-eqz v4, :cond_180

    move-object v0, v1

    check-cast v0, Lbsh/p;

    iget v4, v0, Lbsh/p;->a:I

    const/16 v5, 0x2e

    if-ne v4, v5, :cond_13b

    check-cast v1, Lbsh/p;

    iget-object v1, v1, Lbsh/p;->b:Ljava/lang/Object;

    sget-object v4, Ljava/lang/Void;->TYPE:Ljava/lang/Class;

    if-ne v2, v4, :cond_146

    sget-object v4, Lbsh/Primitive;->c:Lbsh/Primitive;

    if-eq v1, v4, :cond_146

    new-instance v1, Lbsh/EvalError;

    const-string/jumbo v2, "Cannot return value from void method"

    iget-object v0, v0, Lbsh/p;->c:Lbsh/SimpleNode;

    invoke-direct {v1, v2, v0, v3}, Lbsh/EvalError;-><init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V

    throw v1

    :cond_7f
    new-instance v0, Lbsh/NameSpace;

    iget-object v1, p0, Lbsh/BshMethod;->a:Lbsh/NameSpace;

    iget-object v4, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    invoke-direct {v0, v1, v4}, Lbsh/NameSpace;-><init>(Lbsh/NameSpace;Ljava/lang/String;)V

    const/4 v1, 0x1

    iput-boolean v1, v0, Lbsh/NameSpace;->d:Z

    goto :goto_3d

    :cond_8c
    aget-object v4, v3, v1

    if-eqz v4, :cond_f5

    :try_start_90
    aget-object v4, p1, v1

    aget-object v5, v3, v1

    const/4 v6, 0x1

    invoke-static {v4, v5, v6}, Lbsh/r;->a(Ljava/lang/Object;Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v4

    aput-object v4, p1, v1
    :try_end_9b
    .catch Lbsh/UtilEvalError; {:try_start_90 .. :try_end_9b} :catch_aa

    :try_start_9b
    iget-object v4, p0, Lbsh/BshMethod;->f:[Ljava/lang/String;

    aget-object v4, v4, v1

    aget-object v5, v3, v1

    aget-object v6, p1, v1

    const/4 v7, 0x0

    invoke-virtual {v0, v4, v5, v6, v7}, Lbsh/NameSpace;->a(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;Lbsh/Modifiers;)V
    :try_end_a7
    .catch Lbsh/UtilEvalError; {:try_start_9b .. :try_end_a7} :catch_ec

    :goto_a7
    add-int/lit8 v1, v1, 0x1

    goto :goto_41

    :catch_aa
    move-exception v0

    new-instance v2, Lbsh/EvalError;

    new-instance v3, Ljava/lang/StringBuffer;

    invoke-direct {v3}, Ljava/lang/StringBuffer;-><init>()V

    const-string/jumbo v4, "Invalid argument: `"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v3

    iget-object v4, p0, Lbsh/BshMethod;->f:[Ljava/lang/String;

    aget-object v1, v4, v1

    invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    const-string/jumbo v3, "\'"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    const-string/jumbo v3, " for method: "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    iget-object v3, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    const-string/jumbo v3, " : "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v0}, Lbsh/UtilEvalError;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v2, v0, p4, p3}, Lbsh/EvalError;-><init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V

    throw v2

    :catch_ec
    move-exception v0

    const-string/jumbo v1, "Typed method parameter assignment"

    invoke-virtual {v0, v1, p4, p3}, Lbsh/UtilEvalError;->a(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)Lbsh/EvalError;

    move-result-object v0

    throw v0

    :cond_f5
    aget-object v4, p1, v1

    sget-object v5, Lbsh/Primitive;->c:Lbsh/Primitive;

    if-ne v4, v5, :cond_126

    new-instance v0, Lbsh/EvalError;

    new-instance v2, Ljava/lang/StringBuffer;

    invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V

    const-string/jumbo v3, "Undefined variable or class name, parameter: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v2

    iget-object v3, p0, Lbsh/BshMethod;->f:[Ljava/lang/String;

    aget-object v1, v3, v1

    invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    const-string/jumbo v2, " to method: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    iget-object v2, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1, p4, p3}, Lbsh/EvalError;-><init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V

    throw v0

    :cond_126
    :try_start_126
    iget-object v4, p0, Lbsh/BshMethod;->f:[Ljava/lang/String;

    aget-object v4, v4, v1

    aget-object v5, p1, v1

    invoke-virtual {p2}, Lbsh/Interpreter;->f()Z

    move-result v6

    invoke-virtual {v0, v4, v5, v6}, Lbsh/NameSpace;->b(Ljava/lang/String;Ljava/lang/Object;Z)V
    :try_end_133
    .catch Lbsh/UtilEvalError; {:try_start_126 .. :try_end_133} :catch_135

    goto/16 :goto_a7

    :catch_135
    move-exception v0

    invoke-virtual {v0, p4, p3}, Lbsh/UtilEvalError;->a(Lbsh/SimpleNode;Lbsh/c;)Lbsh/EvalError;

    move-result-object v0

    throw v0

    :cond_13b
    new-instance v1, Lbsh/EvalError;

    const-string/jumbo v2, "\'continue\' or \'break\' in method body"

    iget-object v0, v0, Lbsh/p;->c:Lbsh/SimpleNode;

    invoke-direct {v1, v2, v0, v3}, Lbsh/EvalError;-><init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V

    throw v1

    :cond_146
    move-object v8, v0

    move-object v0, v1

    move-object v1, v8

    :goto_149
    if-eqz v2, :cond_151

    sget-object v3, Ljava/lang/Void;->TYPE:Ljava/lang/Class;

    if-ne v2, v3, :cond_152

    sget-object v0, Lbsh/Primitive;->c:Lbsh/Primitive;

    :cond_151
    :goto_151
    return-object v0

    :cond_152
    const/4 v3, 0x1

    :try_start_153
    invoke-static {v0, v2, v3}, Lbsh/r;->a(Ljava/lang/Object;Ljava/lang/Class;I)Ljava/lang/Object;
    :try_end_156
    .catch Lbsh/UtilEvalError; {:try_start_153 .. :try_end_156} :catch_158

    move-result-object v0

    goto :goto_151

    :catch_158
    move-exception v0

    if-eqz v1, :cond_15d

    iget-object p4, v1, Lbsh/p;->c:Lbsh/SimpleNode;

    :cond_15d
    new-instance v1, Ljava/lang/StringBuffer;

    invoke-direct {v1}, Ljava/lang/StringBuffer;-><init>()V

    const-string/jumbo v2, "Incorrect type returned from method: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    iget-object v2, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v0}, Lbsh/UtilEvalError;->getMessage()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1, p4, p3}, Lbsh/UtilEvalError;->a(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)Lbsh/EvalError;

    move-result-object v0

    throw v0

    :cond_180
    move-object v8, v0

    move-object v0, v1

    move-object v1, v8

    goto :goto_149
.end method


# virtual methods
.method public a([Ljava/lang/Object;Lbsh/Interpreter;Lbsh/c;Lbsh/SimpleNode;)Ljava/lang/Object;
    .registers 11

    const/4 v5, 0x0

    move-object v0, p0

    move-object v1, p1

    move-object v2, p2

    move-object v3, p3

    move-object v4, p4

    invoke-virtual/range {v0 .. v5}, Lbsh/BshMethod;->a([Ljava/lang/Object;Lbsh/Interpreter;Lbsh/c;Lbsh/SimpleNode;Z)Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method

.method a([Ljava/lang/Object;Lbsh/Interpreter;Lbsh/c;Lbsh/SimpleNode;Z)Ljava/lang/Object;
    .registers 12

    if-eqz p1, :cond_6

    const/4 v0, 0x0

    :goto_3
    array-length v1, p1

    if-lt v0, v1, :cond_13

    :cond_6
    iget-object v0, p0, Lbsh/BshMethod;->i:Ljava/lang/reflect/Method;

    if-eqz v0, :cond_4b

    :try_start_a
    iget-object v0, p0, Lbsh/BshMethod;->i:Ljava/lang/reflect/Method;

    iget-object v1, p0, Lbsh/BshMethod;->j:Ljava/lang/Object;

    invoke-static {v0, v1, p1}, Lbsh/n;->a(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_11
    .catch Lbsh/ReflectError; {:try_start_a .. :try_end_11} :catch_23
    .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_a .. :try_end_11} :catch_3e

    move-result-object v0

    :goto_12
    return-object v0

    :cond_13
    aget-object v1, p1, v0

    if-nez v1, :cond_20

    new-instance v0, Ljava/lang/Error;

    const-string/jumbo v1, "HERE!"

    invoke-direct {v0, v1}, Ljava/lang/Error;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_20
    add-int/lit8 v0, v0, 0x1

    goto :goto_3

    :catch_23
    move-exception v0

    new-instance v1, Lbsh/EvalError;

    new-instance v2, Ljava/lang/StringBuffer;

    invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V

    const-string/jumbo v3, "Error invoking Java method: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v2

    invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/Object;)Ljava/lang/StringBuffer;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0, p4, p3}, Lbsh/EvalError;-><init>(Ljava/lang/String;Lbsh/SimpleNode;Lbsh/c;)V

    throw v1

    :catch_3e
    move-exception v2

    new-instance v0, Lbsh/TargetError;

    const-string/jumbo v1, "Exception invoking imported object method."

    const/4 v5, 0x1

    move-object v3, p4

    move-object v4, p3

    invoke-direct/range {v0 .. v5}, Lbsh/TargetError;-><init>(Ljava/lang/String;Ljava/lang/Throwable;Lbsh/SimpleNode;Lbsh/c;Z)V

    throw v0

    :cond_4b
    iget-object v0, p0, Lbsh/BshMethod;->b:Lbsh/Modifiers;

    if-eqz v0, :cond_82

    iget-object v0, p0, Lbsh/BshMethod;->b:Lbsh/Modifiers;

    const-string/jumbo v1, "synchronized"

    invoke-virtual {v0, v1}, Lbsh/Modifiers;->a(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_82

    iget-object v0, p0, Lbsh/BshMethod;->a:Lbsh/NameSpace;

    iget-boolean v0, v0, Lbsh/NameSpace;->e:Z

    if-eqz v0, :cond_78

    :try_start_60
    iget-object v0, p0, Lbsh/BshMethod;->a:Lbsh/NameSpace;

    invoke-virtual {v0}, Lbsh/NameSpace;->a()Ljava/lang/Object;
    :try_end_65
    .catch Lbsh/UtilEvalError; {:try_start_60 .. :try_end_65} :catch_6e

    move-result-object v0

    :goto_66
    monitor-enter v0

    :try_start_67
    invoke-direct/range {p0 .. p5}, Lbsh/BshMethod;->b([Ljava/lang/Object;Lbsh/Interpreter;Lbsh/c;Lbsh/SimpleNode;Z)Ljava/lang/Object;

    move-result-object v1

    monitor-exit v0
    :try_end_6c
    .catchall {:try_start_67 .. :try_end_6c} :catchall_7f

    move-object v0, v1

    goto :goto_12

    :catch_6e
    move-exception v0

    new-instance v0, Lbsh/InterpreterError;

    const-string/jumbo v1, "Can\'t get class instance for synchronized method."

    invoke-direct {v0, v1}, Lbsh/InterpreterError;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_78
    iget-object v0, p0, Lbsh/BshMethod;->a:Lbsh/NameSpace;

    invoke-virtual {v0, p2}, Lbsh/NameSpace;->a(Lbsh/Interpreter;)Lbsh/This;

    move-result-object v0

    goto :goto_66

    :catchall_7f
    move-exception v1

    :try_start_80
    monitor-exit v0
    :try_end_81
    .catchall {:try_start_80 .. :try_end_81} :catchall_7f

    throw v1

    :cond_82
    invoke-direct/range {p0 .. p5}, Lbsh/BshMethod;->b([Ljava/lang/Object;Lbsh/Interpreter;Lbsh/c;Lbsh/SimpleNode;Z)Ljava/lang/Object;

    move-result-object v0

    goto :goto_12
.end method

.method public a()[Ljava/lang/Class;
    .registers 2

    iget-object v0, p0, Lbsh/BshMethod;->h:[Ljava/lang/Class;

    return-object v0
.end method

.method public b()Ljava/lang/Class;
    .registers 2

    iget-object v0, p0, Lbsh/BshMethod;->e:Ljava/lang/Class;

    return-object v0
.end method

.method public toString()Ljava/lang/String;
    .registers 4

    new-instance v0, Ljava/lang/StringBuffer;

    invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V

    const-string/jumbo v1, "Scripted Method: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v0

    iget-object v1, p0, Lbsh/BshMethod;->d:Ljava/lang/String;

    invoke-virtual {p0}, Lbsh/BshMethod;->a()[Ljava/lang/Class;

    move-result-object v2

    invoke-static {v1, v2}, Lbsh/q;->a(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method