1*37f5703cSAndroid Build Coastguard Worker.class public final enum LEnum; 2*37f5703cSAndroid Build Coastguard Worker.super Ljava/lang/Enum; 3*37f5703cSAndroid Build Coastguard Worker 4*37f5703cSAndroid Build Coastguard Worker#This class is an example of how to define an enum. You have 5*37f5703cSAndroid Build Coastguard Worker#to do all of the work that java normally takes care of 6*37f5703cSAndroid Build Coastguard Worker 7*37f5703cSAndroid Build Coastguard Worker.field private static final synthetic $VALUES:[LEnum; 8*37f5703cSAndroid Build Coastguard Worker 9*37f5703cSAndroid Build Coastguard Worker.field public static final enum VALUE1:LEnum; 10*37f5703cSAndroid Build Coastguard Worker.field public static final enum VALUE2:LEnum; 11*37f5703cSAndroid Build Coastguard Worker 12*37f5703cSAndroid Build Coastguard Worker.method static constructor <clinit>()V 13*37f5703cSAndroid Build Coastguard Worker .registers 4 14*37f5703cSAndroid Build Coastguard Worker 15*37f5703cSAndroid Build Coastguard Worker #create an instance of this class for the VALUE1 value 16*37f5703cSAndroid Build Coastguard Worker new-instance v0, LEnum; 17*37f5703cSAndroid Build Coastguard Worker const-string v1, "VALUE1" 18*37f5703cSAndroid Build Coastguard Worker const/4 v2, 0 19*37f5703cSAndroid Build Coastguard Worker invoke-direct {v0, v1, v2}, LEnum;-><init>(Ljava/lang/String;I)V 20*37f5703cSAndroid Build Coastguard Worker 21*37f5703cSAndroid Build Coastguard Worker #and store it in VALUE1 22*37f5703cSAndroid Build Coastguard Worker sput-object v0, LEnum;->VALUE1:LEnum; 23*37f5703cSAndroid Build Coastguard Worker 24*37f5703cSAndroid Build Coastguard Worker #create an instance of this class for the VALUE2 value 25*37f5703cSAndroid Build Coastguard Worker new-instance v0, LEnum; 26*37f5703cSAndroid Build Coastguard Worker const-string v1, "VALUE2" 27*37f5703cSAndroid Build Coastguard Worker const/4 v3, 1 28*37f5703cSAndroid Build Coastguard Worker invoke-direct {v0, v1, v3}, LEnum;-><init>(Ljava/lang/String;I)V 29*37f5703cSAndroid Build Coastguard Worker 30*37f5703cSAndroid Build Coastguard Worker #and store it in VALUE2 31*37f5703cSAndroid Build Coastguard Worker sput-object v0, LEnum;->VALUE2:LEnum; 32*37f5703cSAndroid Build Coastguard Worker 33*37f5703cSAndroid Build Coastguard Worker #create an array of Enums, for the $VALUES member 34*37f5703cSAndroid Build Coastguard Worker const/4 v0, 2 35*37f5703cSAndroid Build Coastguard Worker new-array v0, v0, [LEnum; 36*37f5703cSAndroid Build Coastguard Worker 37*37f5703cSAndroid Build Coastguard Worker #add VALUE1 to the array 38*37f5703cSAndroid Build Coastguard Worker sget-object v1, LEnum;->VALUE1:LEnum; 39*37f5703cSAndroid Build Coastguard Worker aput-object v1, v0, v2 40*37f5703cSAndroid Build Coastguard Worker 41*37f5703cSAndroid Build Coastguard Worker #add VALUE2 to the array 42*37f5703cSAndroid Build Coastguard Worker sget-object v1, LEnum;->VALUE2:LEnum; 43*37f5703cSAndroid Build Coastguard Worker aput-object v1, v0, v3 44*37f5703cSAndroid Build Coastguard Worker 45*37f5703cSAndroid Build Coastguard Worker #and store the array in $VALUES 46*37f5703cSAndroid Build Coastguard Worker sput-object v0, LEnum;->$VALUES:[LEnum; 47*37f5703cSAndroid Build Coastguard Worker 48*37f5703cSAndroid Build Coastguard Worker return-void 49*37f5703cSAndroid Build Coastguard Worker.end method 50*37f5703cSAndroid Build Coastguard Worker 51*37f5703cSAndroid Build Coastguard Worker.method private constructor <init>(Ljava/lang/String;I)V 52*37f5703cSAndroid Build Coastguard Worker .registers 3 53*37f5703cSAndroid Build Coastguard Worker invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V 54*37f5703cSAndroid Build Coastguard Worker return-void 55*37f5703cSAndroid Build Coastguard Worker.end method 56*37f5703cSAndroid Build Coastguard Worker 57*37f5703cSAndroid Build Coastguard Worker.method public static valueof(Ljava/lang/String;)LEnum; 58*37f5703cSAndroid Build Coastguard Worker .registers 2 59*37f5703cSAndroid Build Coastguard Worker const-class v0, LEnum; 60*37f5703cSAndroid Build Coastguard Worker invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum; 61*37f5703cSAndroid Build Coastguard Worker move-result-object v1 62*37f5703cSAndroid Build Coastguard Worker check-cast v1, LEnum; 63*37f5703cSAndroid Build Coastguard Worker return-object v1 64*37f5703cSAndroid Build Coastguard Worker.end method 65*37f5703cSAndroid Build Coastguard Worker 66*37f5703cSAndroid Build Coastguard Worker.method public static values()[LEnum; 67*37f5703cSAndroid Build Coastguard Worker .registers 1 68*37f5703cSAndroid Build Coastguard Worker sget-object v0, LEnum;->$VALUES:[LEnum; 69*37f5703cSAndroid Build Coastguard Worker invoke-virtual {v0}, [LEnum;->clone()Ljava/lang/Object; 70*37f5703cSAndroid Build Coastguard Worker move-result-object v0 71*37f5703cSAndroid Build Coastguard Worker check-cast v0, [LEnum; 72*37f5703cSAndroid Build Coastguard Worker return-object v0 73*37f5703cSAndroid Build Coastguard Worker.end method