BSHAmbiguousName.smali

.class Lbsh/BSHAmbiguousName;
.super Lbsh/SimpleNode;


# instance fields
.field public a:Ljava/lang/String;


# direct methods
.method constructor <init>(I)V
    .registers 2

    invoke-direct {p0, p1}, Lbsh/SimpleNode;-><init>(I)V

    return-void
.end method


# virtual methods
.method public a(Lbsh/NameSpace;)Lbsh/Name;
    .registers 3

    iget-object v0, p0, Lbsh/BSHAmbiguousName;->a:Ljava/lang/String;

    invoke-virtual {p1, v0}, Lbsh/NameSpace;->h(Ljava/lang/String;)Lbsh/Name;

    move-result-object v0

    return-object v0
.end method

.method public a(Lbsh/c;Lbsh/Interpreter;)Ljava/lang/Object;
    .registers 5

    new-instance v0, Lbsh/InterpreterError;

    const-string/jumbo v1, "Don\'t know how to eval an ambiguous name!  Use toObject() if you want an object."

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

    throw v0
.end method

.method a(Lbsh/c;Lbsh/Interpreter;Z)Ljava/lang/Object;
    .registers 5

    :try_start_0
    invoke-virtual {p1}, Lbsh/c;->b()Lbsh/NameSpace;

    move-result-object v0

    invoke-virtual {p0, v0}, Lbsh/BSHAmbiguousName;->a(Lbsh/NameSpace;)Lbsh/Name;

    move-result-object v0

    invoke-virtual {v0, p1, p2, p3}, Lbsh/Name;->a(Lbsh/c;Lbsh/Interpreter;Z)Ljava/lang/Object;
    :try_end_b
    .catch Lbsh/UtilEvalError; {:try_start_0 .. :try_end_b} :catch_d

    move-result-object v0

    return-object v0

    :catch_d
    move-exception v0

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

    move-result-object v0

    throw v0
.end method

.method public b(Lbsh/c;Lbsh/Interpreter;)Ljava/lang/Object;
    .registers 4

    const/4 v0, 0x0

    invoke-virtual {p0, p1, p2, v0}, Lbsh/BSHAmbiguousName;->a(Lbsh/c;Lbsh/Interpreter;Z)Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method

.method public c(Lbsh/c;Lbsh/Interpreter;)Ljava/lang/Class;
    .registers 5

    :try_start_0
    invoke-virtual {p1}, Lbsh/c;->b()Lbsh/NameSpace;

    move-result-object v0

    invoke-virtual {p0, v0}, Lbsh/BSHAmbiguousName;->a(Lbsh/NameSpace;)Lbsh/Name;

    move-result-object v0

    invoke-virtual {v0}, Lbsh/Name;->a()Ljava/lang/Class;
    :try_end_b
    .catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_b} :catch_d
    .catch Lbsh/UtilEvalError; {:try_start_0 .. :try_end_b} :catch_18

    move-result-object v0

    return-object v0

    :catch_d
    move-exception v0

    new-instance v1, Lbsh/EvalError;

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

    move-result-object v0

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

    throw v1

    :catch_18
    move-exception v0

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

    move-result-object v0

    throw v0
.end method

.method public d(Lbsh/c;Lbsh/Interpreter;)Lbsh/LHS;
    .registers 4

    :try_start_0
    invoke-virtual {p1}, Lbsh/c;->b()Lbsh/NameSpace;

    move-result-object v0

    invoke-virtual {p0, v0}, Lbsh/BSHAmbiguousName;->a(Lbsh/NameSpace;)Lbsh/Name;

    move-result-object v0

    invoke-virtual {v0, p1, p2}, Lbsh/Name;->b(Lbsh/c;Lbsh/Interpreter;)Lbsh/LHS;
    :try_end_b
    .catch Lbsh/UtilEvalError; {:try_start_0 .. :try_end_b} :catch_d

    move-result-object v0

    return-object v0

    :catch_d
    move-exception v0

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

    move-result-object v0

    throw v0
.end method

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

    new-instance v0, Ljava/lang/StringBuffer;

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

    const-string/jumbo v1, "AmbigousName: "

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

    move-result-object v0

    iget-object v1, p0, Lbsh/BSHAmbiguousName;->a:Ljava/lang/String;

    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