JoinPointImpl.smali
.class Lorg/aspectj/runtime/reflect/JoinPointImpl;
.super Ljava/lang/Object;
.source "JoinPointImpl.java"
# interfaces
.implements Lorg/aspectj/lang/ProceedingJoinPoint;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/aspectj/runtime/reflect/JoinPointImpl$EnclosingStaticPartImpl;,
Lorg/aspectj/runtime/reflect/JoinPointImpl$StaticPartImpl;
}
.end annotation
# instance fields
.field _this:Ljava/lang/Object;
.field private arc:Lorg/aspectj/runtime/internal/AroundClosure;
.field args:[Ljava/lang/Object;
.field staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field target:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)V
.registers 5
.param p1, "staticPart" # Lorg/aspectj/lang/JoinPoint$StaticPart;
.param p2, "_this" # Ljava/lang/Object;
.param p3, "target" # Ljava/lang/Object;
.param p4, "args" # [Ljava/lang/Object;
.line 85
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 86
iput-object p1, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
.line 87
iput-object p2, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->_this:Ljava/lang/Object;
.line 88
iput-object p3, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->target:Ljava/lang/Object;
.line 89
iput-object p4, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->args:[Ljava/lang/Object;
.line 90
return-void
.end method
# virtual methods
.method public getArgs()[Ljava/lang/Object;
.registers 5
.line 101
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->args:[Ljava/lang/Object;
const/4 v1, 0x0
if-nez v0, :cond_9
.line 102
new-array v0, v1, [Ljava/lang/Object;
iput-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->args:[Ljava/lang/Object;
.line 104
:cond_9
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->args:[Ljava/lang/Object;
array-length v2, v0
new-array v2, v2, [Ljava/lang/Object;
.line 105
.local v2, "argsCopy":[Ljava/lang/Object;
array-length v3, v0
invoke-static {v0, v1, v2, v1, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 106
return-object v2
.end method
.method public getKind()Ljava/lang/String;
.registers 2
.line 114
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-interface {v0}, Lorg/aspectj/lang/JoinPoint$StaticPart;->getKind()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getSignature()Lorg/aspectj/lang/Signature;
.registers 2
.line 118
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-interface {v0}, Lorg/aspectj/lang/JoinPoint$StaticPart;->getSignature()Lorg/aspectj/lang/Signature;
move-result-object v0
return-object v0
.end method
.method public getSourceLocation()Lorg/aspectj/lang/reflect/SourceLocation;
.registers 2
.line 122
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-interface {v0}, Lorg/aspectj/lang/JoinPoint$StaticPart;->getSourceLocation()Lorg/aspectj/lang/reflect/SourceLocation;
move-result-object v0
return-object v0
.end method
.method public getStaticPart()Lorg/aspectj/lang/JoinPoint$StaticPart;
.registers 2
.line 110
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
return-object v0
.end method
.method public getTarget()Ljava/lang/Object;
.registers 2
.line 97
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->target:Ljava/lang/Object;
return-object v0
.end method
.method public getThis()Ljava/lang/Object;
.registers 2
.line 93
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->_this:Ljava/lang/Object;
return-object v0
.end method
.method public proceed()Ljava/lang/Object;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 146
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->arc:Lorg/aspectj/runtime/internal/AroundClosure;
if-nez v0, :cond_6
.line 147
const/4 v0, 0x0
return-object v0
.line 149
:cond_6
invoke-virtual {v0}, Lorg/aspectj/runtime/internal/AroundClosure;->getState()[Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lorg/aspectj/runtime/internal/AroundClosure;->run([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public proceed([Ljava/lang/Object;)Ljava/lang/Object;
.registers 15
.param p1, "adviceBindings" # [Ljava/lang/Object;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 154
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->arc:Lorg/aspectj/runtime/internal/AroundClosure;
if-nez v0, :cond_6
.line 155
const/4 v0, 0x0
return-object v0
.line 161
:cond_6
invoke-virtual {v0}, Lorg/aspectj/runtime/internal/AroundClosure;->getFlags()I
move-result v0
.line 162
.local v0, "flags":I
const/high16 v1, 0x100000
and-int/2addr v1, v0
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v1, :cond_13
const/4 v1, 0x1
goto :goto_14
:cond_13
const/4 v1, 0x0
.line 163
.local v1, "unset":Z
:goto_14
const/high16 v4, 0x10000
and-int/2addr v4, v0
if-eqz v4, :cond_1b
const/4 v4, 0x1
goto :goto_1c
:cond_1b
const/4 v4, 0x0
.line 164
.local v4, "thisTargetTheSame":Z
:goto_1c
and-int/lit16 v5, v0, 0x1000
if-eqz v5, :cond_22
const/4 v5, 0x1
goto :goto_23
:cond_22
const/4 v5, 0x0
.line 165
.local v5, "hasThis":Z
:goto_23
and-int/lit16 v6, v0, 0x100
if-eqz v6, :cond_29
const/4 v6, 0x1
goto :goto_2a
:cond_29
const/4 v6, 0x0
.line 166
.local v6, "bindsThis":Z
:goto_2a
and-int/lit8 v7, v0, 0x10
if-eqz v7, :cond_30
const/4 v7, 0x1
goto :goto_31
:cond_30
const/4 v7, 0x0
.line 167
.local v7, "hasTarget":Z
:goto_31
and-int/lit8 v8, v0, 0x1
if-eqz v8, :cond_37
const/4 v8, 0x1
goto :goto_38
:cond_37
const/4 v8, 0x0
.line 170
.local v8, "bindsTarget":Z
:goto_38
iget-object v9, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->arc:Lorg/aspectj/runtime/internal/AroundClosure;
invoke-virtual {v9}, Lorg/aspectj/runtime/internal/AroundClosure;->getState()[Ljava/lang/Object;
move-result-object v9
.line 178
.local v9, "state":[Ljava/lang/Object;
const/4 v10, 0x0
.line 179
.local v10, "firstArgumentIndexIntoAdviceBindings":I
const/4 v11, 0x0
.line 180
.local v11, "firstArgumentIndexIntoState":I
if-eqz v5, :cond_44
const/4 v12, 0x1
goto :goto_45
:cond_44
const/4 v12, 0x0
:goto_45
add-int/2addr v11, v12
.line 181
if-eqz v7, :cond_4c
if-nez v4, :cond_4c
const/4 v12, 0x1
goto :goto_4d
:cond_4c
const/4 v12, 0x0
:goto_4d
add-int/2addr v11, v12
.line 182
if-eqz v5, :cond_57
.line 183
if-eqz v6, :cond_57
.line 185
const/4 v10, 0x1
.line 186
aget-object v12, p1, v2
aput-object v12, v9, v2
.line 191
:cond_57
if-eqz v7, :cond_80
.line 192
if-eqz v8, :cond_80
.line 193
if-eqz v4, :cond_6d
.line 195
if-eqz v6, :cond_61
const/4 v12, 0x1
goto :goto_62
:cond_61
const/4 v12, 0x0
:goto_62
add-int/lit8 v10, v12, 0x1
.line 196
if-eqz v6, :cond_67
goto :goto_68
:cond_67
const/4 v3, 0x0
:goto_68
aget-object v3, p1, v3
aput-object v3, v9, v2
goto :goto_80
.line 201
:cond_6d
if-eqz v5, :cond_71
const/4 v12, 0x1
goto :goto_72
:cond_71
const/4 v12, 0x0
:goto_72
add-int/lit8 v10, v12, 0x1
.line 202
if-eqz v5, :cond_78
const/4 v12, 0x1
goto :goto_79
:cond_78
const/4 v12, 0x0
:goto_79
if-eqz v5, :cond_7c
const/4 v2, 0x1
:cond_7c
aget-object v2, p1, v2
aput-object v2, v9, v12
.line 210
:cond_80
:goto_80
move v2, v10
.local v2, "i":I
:goto_81
array-length v3, p1
if-ge v2, v3, :cond_8e
.line 211
sub-int v3, v2, v10
add-int/2addr v3, v11
aget-object v12, p1, v2
aput-object v12, v9, v3
.line 210
add-int/lit8 v2, v2, 0x1
goto :goto_81
.line 221
.end local v2 # "i":I
:cond_8e
iget-object v2, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->arc:Lorg/aspectj/runtime/internal/AroundClosure;
invoke-virtual {v2, v9}, Lorg/aspectj/runtime/internal/AroundClosure;->run([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
return-object v2
.end method
.method public set$AroundClosure(Lorg/aspectj/runtime/internal/AroundClosure;)V
.registers 2
.param p1, "arc" # Lorg/aspectj/runtime/internal/AroundClosure;
.line 141
iput-object p1, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->arc:Lorg/aspectj/runtime/internal/AroundClosure;
.line 142
return-void
.end method
.method public final toLongString()Ljava/lang/String;
.registers 2
.line 134
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-interface {v0}, Lorg/aspectj/lang/JoinPoint$StaticPart;->toLongString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final toShortString()Ljava/lang/String;
.registers 2
.line 130
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-interface {v0}, Lorg/aspectj/lang/JoinPoint$StaticPart;->toShortString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final toString()Ljava/lang/String;
.registers 2
.line 126
iget-object v0, p0, Lorg/aspectj/runtime/reflect/JoinPointImpl;->staticPart:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-interface {v0}, Lorg/aspectj/lang/JoinPoint$StaticPart;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method