Offset 30, 177 lines modifiedOffset 30, 14 lines modified
  
30 ····.line·130 ····.line·1
31 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V31 ····invoke-direct·{p0},·Ljava/lang/Object;-><init>()V
  
32 ····return-void32 ····return-void
33 .end·method33 .end·method
  
34 .method·private·static·decode(C)I 
35 ····.locals·3 
  
36 ····const/16·v0,·0x30 
  
37 ····if-lt·p0,·v0,·:cond_0 
  
38 ····const/16·v1,·0x39 
  
39 ····if-gt·p0,·v1,·:cond_0 
  
40 ····sub-int/2addr·p0,·v0 
  
41 ····return·p0 
  
42 ····:cond_0 
43 ····const/16·v0,·0x61 
  
44 ····if-lt·p0,·v0,·:cond_1 
  
45 ····const/16·v1,·0x66 
  
46 ····if-gt·p0,·v1,·:cond_1 
  
47 ····sub-int/2addr·p0,·v0 
  
48 ····add-int/lit8·p0,·p0,·0xa 
  
49 ····return·p0 
  
50 ····.line·1 
51 ····:cond_1 
52 ····new-instance·v0,·Ljava/lang/IllegalArgumentException; 
  
53 ····new-instance·v1,·Ljava/lang/StringBuilder; 
  
54 ····invoke-direct·{v1},·Ljava/lang/StringBuilder;-><init>()V 
  
55 ····const-string·v2,·"Illegal·hexadecimal·character:·" 
  
56 ····invoke-virtual·{v1,·v2},·Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; 
  
57 ····invoke-virtual·{v1,·p0},·Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; 
  
58 ····invoke-virtual·{v1},·Ljava/lang/StringBuilder;->toString()Ljava/lang/String; 
  
59 ····move-result-object·p0 
  
60 ····invoke-direct·{v0,·p0},·Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V 
  
61 ····throw·v0 
62 .end·method 
  
63 .method·public·static·fromString(Ljava/lang/String;)Lcom/google/common/hash/HashCode; 
64 ····.locals·5 
  
65 ····.line·1 
66 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I 
  
67 ····move-result·v0 
  
68 ····const/4·v1,·0x1 
  
69 ····const/4·v2,·0x0 
  
70 ····const/4·v3,·0x2 
  
71 ····if-lt·v0,·v3,·:cond_0 
  
72 ····move·v0,·v1 
  
73 ····goto·:goto_0 
  
74 ····:cond_0 
75 ····move·v0,·v2 
  
76 ····:goto_0 
77 ····const-string·v4,·"input·string·(%s)·must·have·at·least·2·characters" 
  
78 ····.line·2 
79 ····invoke-static·{v0,·v4,·p0},·Lcom/google/common/base/Ascii;->checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V 
  
80 ····.line·3 
81 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I 
  
82 ····move-result·v0 
  
83 ····rem-int/2addr·v0,·v3 
  
84 ····if-nez·v0,·:cond_1 
  
85 ····goto·:goto_1 
  
86 ····:cond_1 
87 ····move·v1,·v2 
  
88 ····:goto_1 
89 ····const-string·v0,·"input·string·(%s)·must·have·an·even·number·of·characters" 
  
90 ····.line·4 
91 ····invoke-static·{v1,·v0,·p0},·Lcom/google/common/base/Ascii;->checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V 
  
92 ····.line·5 
93 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I 
  
94 ····move-result·v0 
  
95 ····div-int/2addr·v0,·v3 
  
96 ····new-array·v0,·v0,·[B 
  
97 ····.line·6 
98 ····:goto_2 
99 ····invoke-virtual·{p0},·Ljava/lang/String;->length()I 
  
100 ····move-result·v1 
  
101 ····if-ge·v2,·v1,·:cond_2 
  
102 ····.line·7 
103 ····invoke-virtual·{p0,·v2},·Ljava/lang/String;->charAt(I)C 
  
104 ····move-result·v1 
  
105 ····invoke-static·{v1},·Lcom/google/common/hash/HashCode;->decode(C)I 
  
106 ····move-result·v1 
  
107 ····shl-int/lit8·v1,·v1,·0x4 
  
108 ····add-int/lit8·v3,·v2,·0x1 
  
109 ····.line·8 
110 ····invoke-virtual·{p0,·v3},·Ljava/lang/String;->charAt(I)C 
  
111 ····move-result·v3 
  
112 ····invoke-static·{v3},·Lcom/google/common/hash/HashCode;->decode(C)I 
  
113 ····move-result·v3 
  
114 ····.line·9 
115 ····div-int/lit8·v4,·v2,·0x2 
  
116 ····add-int/2addr·v1,·v3 
  
117 ····int-to-byte·v1,·v1 
  
118 ····aput-byte·v1,·v0,·v4 
  
119 ····add-int/lit8·v2,·v2,·0x2 
  
120 ····goto·:goto_2 
  
121 ····.line·10 
122 ····:cond_2 
123 ····new-instance·p0,·Lcom/google/common/hash/HashCode$BytesHashCode; 
  
124 ····invoke-direct·{p0,·v0},·Lcom/google/common/hash/HashCode$BytesHashCode;-><init>([B)V 
  
125 ····return-object·p0 
126 .end·method 
  
  
127 #·virtual·methods34 #·virtual·methods
128 .method·public·abstract·asBytes()[B35 .method·public·abstract·asBytes()[B
129 .end·method36 .end·method
  
130 .method·public·abstract·asInt()I37 .method·public·abstract·asInt()I
131 .end·method38 .end·method