public class io.helidon.config.ListNodeBuilderImpl extends io.helidon.config.AbstractNodeBuilderImpl implements io.helidon.config.spi.ConfigNode$ListNode$Builder
{
private final java.util.List elements;
private java.lang.String value;
public void <init>()
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.function.Function v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
specialinvoke v.<io.helidon.config.ListNodeBuilderImpl: void <init>(java.util.function.Function)>(v);
return;
}
public void <init>(java.util.function.Function)
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.LinkedList v;
java.util.function.Function v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: java.util.function.Function;
specialinvoke v.<io.helidon.config.AbstractNodeBuilderImpl: void <init>(java.util.function.Function)>(v);
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements> = v;
return;
}
static io.helidon.config.ListNodeBuilderImpl 'from'(java.util.List)
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
java.util.function.Function v;
v := @parameter: java.util.List;
v = staticinvoke <java.util.function.Function: java.util.function.Function identity()>();
v = staticinvoke <io.helidon.config.ListNodeBuilderImpl: io.helidon.config.ListNodeBuilderImpl 'from'(java.util.List,java.util.function.Function)>(v, v);
return v;
}
static io.helidon.config.ListNodeBuilderImpl 'from'(java.util.List, java.util.function.Function)
{
java.util.function.Consumer v;
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
java.util.function.Function v;
v := @parameter: java.util.List;
v := @parameter: java.util.function.Function;
v = new io.helidon.config.ListNodeBuilderImpl;
specialinvoke v.<io.helidon.config.ListNodeBuilderImpl: void <init>(java.util.function.Function)>(v);
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <io.helidon.config.ListNodeBuilderImpl$addNode__270: java.util.function.Consumer bootstrap$(io.helidon.config.ListNodeBuilderImpl)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
return v;
}
public io.helidon.config.ListNodeBuilderImpl addNode(io.helidon.config.spi.ConfigNode)
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
io.helidon.config.spi.ConfigNode v;
io.helidon.config.MergeableNode v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: io.helidon.config.spi.ConfigNode;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = staticinvoke <io.helidon.config.ListNodeBuilderImpl: io.helidon.config.MergeableNode wrap(io.helidon.config.spi.ConfigNode)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
public io.helidon.config.ListNodeBuilderImpl value(java.lang.String)
{
io.helidon.config.ListNodeBuilderImpl v;
java.lang.String v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: java.lang.String;
v.<io.helidon.config.ListNodeBuilderImpl: java.lang.String value> = v;
return v;
}
io.helidon.config.ListNodeBuilderImpl value(java.util.Optional)
{
java.util.function.Consumer v;
io.helidon.config.ListNodeBuilderImpl v;
java.util.Optional v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: java.util.Optional;
v = staticinvoke <io.helidon.config.ListNodeBuilderImpl$value__271: java.util.function.Consumer bootstrap$(io.helidon.config.ListNodeBuilderImpl)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
return v;
}
protected java.lang.Integer id(io.helidon.config.AbstractNodeBuilderImpl$MergingKey)
{
io.helidon.config.AbstractNodeBuilderImpl$MergingKey v;
io.helidon.config.ConfigException v, v, v;
java.lang.Integer v;
int v, v, v, v;
java.lang.String v, v, v, v;
java.lang.NumberFormatException v;
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v, v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: io.helidon.config.AbstractNodeBuilderImpl$MergingKey;
v = virtualinvoke v.<io.helidon.config.AbstractNodeBuilderImpl$MergingKey: java.lang.String first()>();
label:
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
if v >= 0 goto label;
v = new io.helidon.config.ConfigException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot merge an OBJECT member \'\u0001\' into a LIST element. Illegal negative index \u.");
specialinvoke v.<io.helidon.config.ConfigException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
v = new io.helidon.config.ConfigException;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int,int)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot merge an OBJECT member \'\u0001\' into a LIST element. Index \u out of bounds <0, \u0001>.");
specialinvoke v.<io.helidon.config.ConfigException: void <init>(java.lang.String)>(v);
throw v;
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
label:
return v;
label:
v := @caughtexception;
v = new io.helidon.config.ConfigException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Cannot merge an OBJECT member \'\u0001\' into a LIST element, not a number.");
specialinvoke v.<io.helidon.config.ConfigException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch java.lang.NumberFormatException from label to label with label;
}
protected io.helidon.config.MergeableNode member(java.lang.Integer)
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
int v;
java.lang.Object v;
java.lang.Integer v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: java.lang.Integer;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
return v;
}
protected void update(java.lang.Integer, io.helidon.config.MergeableNode)
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
int v;
io.helidon.config.MergeableNode v, v;
java.lang.Integer v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: java.lang.Integer;
v := @parameter: io.helidon.config.MergeableNode;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <io.helidon.config.ListNodeBuilderImpl: io.helidon.config.MergeableNode wrap(io.helidon.config.spi.ConfigNode)>(v);
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
return;
}
protected void merge(java.lang.Integer, io.helidon.config.MergeableNode)
{
io.helidon.config.ConfigException v, v;
java.lang.Integer v;
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v, v;
int v, v;
java.lang.Object v;
java.lang.String v, v;
io.helidon.config.MergeableNode v, v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: java.lang.Integer;
v := @parameter: io.helidon.config.MergeableNode;
label:
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<io.helidon.config.MergeableNode: io.helidon.config.MergeableNode merge(io.helidon.config.MergeableNode)>(v);
interfaceinvoke v.<java.util.List: java.lang.Object set(int,java.lang.Object)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new io.helidon.config.ConfigException;
v = virtualinvoke v.<io.helidon.config.ConfigException: java.lang.String getLocalizedMessage()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Integer,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001: \u0001");
specialinvoke v.<io.helidon.config.ConfigException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
label:
return;
catch io.helidon.config.ConfigException from label to label with label;
}
public io.helidon.config.spi.ConfigNode$ListNode$Builder addValue(io.helidon.config.spi.ConfigNode$ValueNode)
{
io.helidon.config.ListNodeBuilderImpl v, v;
io.helidon.config.spi.ConfigNode$ValueNode v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: io.helidon.config.spi.ConfigNode$ValueNode;
v = virtualinvoke v.<io.helidon.config.ListNodeBuilderImpl: io.helidon.config.ListNodeBuilderImpl addNode(io.helidon.config.spi.ConfigNode)>(v);
return v;
}
public io.helidon.config.spi.ConfigNode$ListNode$Builder addObject(io.helidon.config.spi.ConfigNode$ObjectNode)
{
io.helidon.config.ListNodeBuilderImpl v, v;
io.helidon.config.spi.ConfigNode$ObjectNode v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: io.helidon.config.spi.ConfigNode$ObjectNode;
v = virtualinvoke v.<io.helidon.config.ListNodeBuilderImpl: io.helidon.config.ListNodeBuilderImpl addNode(io.helidon.config.spi.ConfigNode)>(v);
return v;
}
public io.helidon.config.spi.ConfigNode$ListNode$Builder addList(io.helidon.config.spi.ConfigNode$ListNode)
{
io.helidon.config.ListNodeBuilderImpl v, v;
io.helidon.config.spi.ConfigNode$ListNode v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v := @parameter: io.helidon.config.spi.ConfigNode$ListNode;
v = virtualinvoke v.<io.helidon.config.ListNodeBuilderImpl: io.helidon.config.ListNodeBuilderImpl addNode(io.helidon.config.spi.ConfigNode)>(v);
return v;
}
public io.helidon.config.ListNodeImpl build()
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
io.helidon.config.ListNodeImpl v;
java.lang.String v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v = new io.helidon.config.ListNodeImpl;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.lang.String value>;
specialinvoke v.<io.helidon.config.ListNodeImpl: void <init>(java.util.List,java.lang.String)>(v, v);
return v;
}
public java.lang.String toString()
{
io.helidon.config.ListNodeBuilderImpl v;
java.util.List v;
java.lang.String v, v;
v := @this: io.helidon.config.ListNodeBuilderImpl;
v = v.<io.helidon.config.ListNodeBuilderImpl: java.util.List elements>;
v = specialinvoke v.<java.lang.Object: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("ListNodeBuilderImpl{elements=\u0001} \u0001");
return v;
}
}