DeclarePrecedenceImpl.smali
.class public Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;
.super Ljava/lang/Object;
.source "DeclarePrecedenceImpl.java"
# interfaces
.implements Lorg/aspectj/lang/reflect/DeclarePrecedence;
# instance fields
.field private declaringType:Lorg/aspectj/lang/reflect/AjType;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lorg/aspectj/lang/reflect/AjType<",
"*>;"
}
.end annotation
.end field
.field private precedenceList:[Lorg/aspectj/lang/reflect/TypePattern;
.field private precedenceString:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Lorg/aspectj/lang/reflect/AjType;)V
.registers 9
.param p1, "precedenceList" # Ljava/lang/String;
.param p2, "declaring" # Lorg/aspectj/lang/reflect/AjType;
.line 30
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 31
iput-object p2, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->declaringType:Lorg/aspectj/lang/reflect/AjType;
.line 32
iput-object p1, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->precedenceString:Ljava/lang/String;
.line 33
move-object v0, p1
.line 34
.local v0, "toTokenize":Ljava/lang/String;
const-string v1, "("
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1a
.line 35
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
const/4 v2, 0x1
sub-int/2addr v1, v2
invoke-virtual {v0, v2, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
.line 37
:cond_1a
new-instance v1, Ljava/util/StringTokenizer;
const-string v2, ","
invoke-direct {v1, v0, v2}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
.line 38
.local v1, "strTok":Ljava/util/StringTokenizer;
invoke-virtual {v1}, Ljava/util/StringTokenizer;->countTokens()I
move-result v2
new-array v2, v2, [Lorg/aspectj/lang/reflect/TypePattern;
iput-object v2, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->precedenceList:[Lorg/aspectj/lang/reflect/TypePattern;
.line 39
const/4 v2, 0x0
.local v2, "i":I
:goto_2a
iget-object v3, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->precedenceList:[Lorg/aspectj/lang/reflect/TypePattern;
array-length v4, v3
if-ge v2, v4, :cond_41
.line 40
new-instance v4, Lorg/aspectj/internal/lang/reflect/TypePatternImpl;
invoke-virtual {v1}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, v5}, Lorg/aspectj/internal/lang/reflect/TypePatternImpl;-><init>(Ljava/lang/String;)V
aput-object v4, v3, v2
.line 39
add-int/lit8 v2, v2, 0x1
goto :goto_2a
.line 42
.end local v2 # "i":I
:cond_41
return-void
.end method
# virtual methods
.method public getDeclaringType()Lorg/aspectj/lang/reflect/AjType;
.registers 2
.line 48
iget-object v0, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->declaringType:Lorg/aspectj/lang/reflect/AjType;
return-object v0
.end method
.method public getPrecedenceOrder()[Lorg/aspectj/lang/reflect/TypePattern;
.registers 2
.line 55
iget-object v0, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->precedenceList:[Lorg/aspectj/lang/reflect/TypePattern;
return-object v0
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 59
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "declare precedence : "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v1, p0, Lorg/aspectj/internal/lang/reflect/DeclarePrecedenceImpl;->precedenceString:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method