public class io.vertx.uritemplate.impl.UriTemplateImpl extends java.lang.Object implements io.vertx.uritemplate.UriTemplate
{
private static final java.lang.String HEX_ALPHABET;
private static final io.netty.util.collection.CharObjectMap mapping;
private final java.util.List terms;
private static final java.lang.ThreadLocal PCT_ENCODER;
public void <init>()
{
io.vertx.uritemplate.impl.UriTemplateImpl v;
java.util.ArrayList v;
v := @this: io.vertx.uritemplate.impl.UriTemplateImpl;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<io.vertx.uritemplate.impl.UriTemplateImpl: java.util.List terms> = v;
return;
}
public java.lang.String expandToString(io.vertx.uritemplate.Variables, io.vertx.uritemplate.ExpandOptions)
{
io.vertx.uritemplate.impl.UriTemplateImpl v;
java.lang.String v;
io.vertx.uritemplate.ExpandOptions v;
io.vertx.uritemplate.Variables v;
boolean v;
v := @this: io.vertx.uritemplate.impl.UriTemplateImpl;
v := @parameter: io.vertx.uritemplate.Variables;
v := @parameter: io.vertx.uritemplate.ExpandOptions;
v = virtualinvoke v.<io.vertx.uritemplate.ExpandOptions: boolean getAllowVariableMiss()>();
v = specialinvoke v.<io.vertx.uritemplate.impl.UriTemplateImpl: java.lang.String expandToString(io.vertx.uritemplate.Variables,boolean)>(v, v);
return v;
}
public java.lang.String expandToString(io.vertx.uritemplate.Variables)
{
java.lang.String v;
io.vertx.uritemplate.impl.UriTemplateImpl v;
io.vertx.uritemplate.Variables v;
v := @this: io.vertx.uritemplate.impl.UriTemplateImpl;
v := @parameter: io.vertx.uritemplate.Variables;
v = specialinvoke v.<io.vertx.uritemplate.impl.UriTemplateImpl: java.lang.String expandToString(io.vertx.uritemplate.Variables,boolean)>(v, 1);
return v;
}
private java.lang.String expandToString(io.vertx.uritemplate.Variables, boolean)
{
io.vertx.uritemplate.impl.UriTemplateImpl$Term v;
java.util.Iterator v;
java.util.List v, v;
io.vertx.uritemplate.impl.UriTemplateImpl v;
java.lang.Object v;
java.lang.StringBuilder v;
java.lang.String v, v;
io.vertx.uritemplate.impl.UriTemplateImpl$Operator v;
io.vertx.uritemplate.Variables v;
boolean v, v, v;
v := @this: io.vertx.uritemplate.impl.UriTemplateImpl;
v := @parameter: io.vertx.uritemplate.Variables;
v := @parameter: boolean;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = v.<io.vertx.uritemplate.impl.UriTemplateImpl: java.util.List terms>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v instanceof io.vertx.uritemplate.impl.UriTemplateImpl$Literals;
if v == 0 goto label;
v = v.<io.vertx.uritemplate.impl.UriTemplateImpl$Literals: java.lang.String value>;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = v.<io.vertx.uritemplate.impl.UriTemplateImpl$Expression: io.vertx.uritemplate.impl.UriTemplateImpl$Operator operator>;
v = v.<io.vertx.uritemplate.impl.UriTemplateImpl$Expression: java.util.List value>;
virtualinvoke v.<io.vertx.uritemplate.impl.UriTemplateImpl$Operator: void expand(java.util.List,io.vertx.uritemplate.Variables,boolean,java.lang.StringBuilder)>(v, v, v, v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static void encodeString(java.lang.String, io.vertx.uritemplate.impl.UriTemplateImpl$CharSet, boolean, java.lang.StringBuilder)
{
int v, v, v, v, v, v, v, v, v;
io.vertx.uritemplate.impl.UriTemplateImpl$CharSet v;
java.lang.String v;
boolean v, v, v, v;
java.lang.ThreadLocal v;
char v, v, v, v;
java.lang.Object v;
java.lang.StringBuilder v;
v := @parameter: java.lang.String;
v := @parameter: io.vertx.uritemplate.impl.UriTemplateImpl$CharSet;
v := @parameter: boolean;
v := @parameter: java.lang.StringBuilder;
v = 0;
label:
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <java.lang.Character: boolean isSurrogate(char)>(v);
if v == 0 goto label;
v = <io.vertx.uritemplate.impl.UriTemplateImpl: java.lang.ThreadLocal PCT_ENCODER>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
virtualinvoke v.<io.vertx.uritemplate.impl.UriTemplateImpl$PctEncoder: void encodeChars(char,char,java.lang.StringBuilder)>(v, v, v);
goto label;
label:
if v == 0 goto label;
if v != 37 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <io.vertx.uritemplate.impl.UriTemplateImpl$Parser: boolean isHEXDIG(char)>(v);
if v == 0 goto label;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = staticinvoke <io.vertx.uritemplate.impl.UriTemplateImpl$Parser: boolean isHEXDIG(char)>(v);
if v == 0 goto label;
v = v - 1;
v = v + 2;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>(v, v, v);
v = v + 2;
goto label;
label:
staticinvoke <io.vertx.uritemplate.impl.UriTemplateImpl: void encodeChar(char,io.vertx.uritemplate.impl.UriTemplateImpl$CharSet,java.lang.StringBuilder)>(v, v, v);
goto label;
label:
return;
}
private static void encodeChar(char, io.vertx.uritemplate.impl.UriTemplateImpl$CharSet, java.lang.StringBuilder)
{
java.lang.ThreadLocal v;
io.vertx.uritemplate.impl.UriTemplateImpl$CharSet v;
char v;
java.lang.Object v;
java.lang.StringBuilder v;
boolean v;
v := @parameter: char;
v := @parameter: io.vertx.uritemplate.impl.UriTemplateImpl$CharSet;
v := @parameter: java.lang.StringBuilder;
v = interfaceinvoke v.<io.vertx.uritemplate.impl.UriTemplateImpl$CharSet: boolean contains(char)>(v);
if v == 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(v);
goto label;
label:
v = <io.vertx.uritemplate.impl.UriTemplateImpl: java.lang.ThreadLocal PCT_ENCODER>;
v = virtualinvoke v.<java.lang.ThreadLocal: java.lang.Object get()>();
virtualinvoke v.<io.vertx.uritemplate.impl.UriTemplateImpl$PctEncoder: void encodeChar(char,java.lang.StringBuilder)>(v, v);
label:
return;
}
private static void pctEncode(java.lang.String, java.lang.StringBuilder)
{
byte[] v;
byte v;
java.nio.charset.Charset v;
int v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.StringBuilder;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
staticinvoke <io.vertx.uritemplate.impl.UriTemplateImpl: void pctEncode(byte,java.lang.StringBuilder)>(v, v);
v = v + 1;
goto label;
label:
return;
}
private static void pctEncode(byte, java.lang.StringBuilder)
{
short v;
byte v, v;
int v, v, v;
java.lang.StringBuilder v;
v := @parameter: byte;
v := @parameter: java.lang.StringBuilder;
v = v & 240;
v = v >> 4;
v = v & 15;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(37);
v = v + 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>("0123456789ABCDEF", v, v);
v = v + 1;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.CharSequence,int,int)>("0123456789ABCDEF", v, v);
return;
}
static void <clinit>()
{
java.lang.ThreadLocal v;
io.vertx.uritemplate.impl.UriTemplateImpl$Operator[] v;
char v;
java.util.function.Supplier v;
io.vertx.uritemplate.impl.UriTemplateImpl$SOperator v;
int v, v, v, v;
char[] v;
io.vertx.uritemplate.impl.UriTemplateImpl$Operator v;
io.netty.util.collection.CharObjectHashMap v;
v = new io.netty.util.collection.CharObjectHashMap;
specialinvoke v.<io.netty.util.collection.CharObjectHashMap: void <init>()>();
v = staticinvoke <io.vertx.uritemplate.impl.UriTemplateImpl$Operator: io.vertx.uritemplate.impl.UriTemplateImpl$Operator[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v.<io.vertx.uritemplate.impl.UriTemplateImpl$Operator: io.vertx.uritemplate.impl.UriTemplateImpl$SOperator so>;
v = v.<io.vertx.uritemplate.impl.UriTemplateImpl$SOperator: char[] chars>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
interfaceinvoke v.<io.netty.util.collection.CharObjectMap: java.lang.Object put(char,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
<io.vertx.uritemplate.impl.UriTemplateImpl: io.netty.util.collection.CharObjectMap mapping> = v;
v = staticinvoke <io.vertx.uritemplate.impl.UriTemplateImpl$lambda_static_0__854: java.util.function.Supplier bootstrap$()>();
v = staticinvoke <java.lang.ThreadLocal: java.lang.ThreadLocal withInitial(java.util.function.Supplier)>(v);
<io.vertx.uritemplate.impl.UriTemplateImpl: java.lang.ThreadLocal PCT_ENCODER> = v;
return;
}
}