public class org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder extends java.lang.Object implements org.apache.logging.log4j.core.layout.Encoder
{
private final java.nio.charset.Charset charset;
private final java.nio.charset.CharsetEncoder charsetEncoder;
private final java.nio.CharBuffer cachedCharBuffer;
public void <init>(java.nio.charset.Charset)
{
int v;
java.nio.charset.Charset v;
org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder v;
v := @this: org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder;
v := @parameter: java.nio.charset.Charset;
v = <org.apache.logging.log4j.core.util.Constants: int ENCODER_CHAR_BUFFER_SIZE>;
specialinvoke v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: void <init>(java.nio.charset.Charset,int)>(v, v);
return;
}
public void <init>(java.nio.charset.Charset, int)
{
java.nio.CharBuffer v;
java.nio.charset.Charset v;
java.nio.charset.CharsetEncoder v, v, v;
java.nio.charset.CodingErrorAction v, v;
org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder v;
int v;
char[] v;
java.lang.Object v;
v := @this: org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "charset");
v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.charset.Charset charset> = v;
v = virtualinvoke v.<java.nio.charset.Charset: java.nio.charset.CharsetEncoder newEncoder()>();
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPLACE>;
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CharsetEncoder onMalformedInput(java.nio.charset.CodingErrorAction)>(v);
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPLACE>;
v = virtualinvoke v.<java.nio.charset.CharsetEncoder: java.nio.charset.CharsetEncoder onUnmappableCharacter(java.nio.charset.CodingErrorAction)>(v);
v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.charset.CharsetEncoder charsetEncoder> = v;
v = newarray (char)[v];
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer wrap(char[])>(v);
v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.CharBuffer cachedCharBuffer> = v;
return;
}
private java.nio.CharBuffer getCharBuffer()
{
java.nio.CharBuffer v;
org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder v;
v := @this: org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder;
v = v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.CharBuffer cachedCharBuffer>;
return v;
}
public void encode(java.lang.StringBuilder, org.apache.logging.log4j.core.layout.ByteBufferDestination)
{
java.lang.Throwable v;
java.nio.CharBuffer v;
java.lang.Exception v;
java.nio.ByteBuffer v;
java.nio.charset.Charset v;
java.nio.charset.CharsetEncoder v;
org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder v;
org.apache.logging.log4j.core.layout.ByteBufferDestination v;
java.lang.StringBuilder v;
v := @this: org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder;
v := @parameter: java.lang.StringBuilder;
v := @parameter: org.apache.logging.log4j.core.layout.ByteBufferDestination;
label:
entermonitor v;
label:
v = v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.charset.CharsetEncoder charsetEncoder>;
v = v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.CharBuffer cachedCharBuffer>;
v = interfaceinvoke v.<org.apache.logging.log4j.core.layout.ByteBufferDestination: java.nio.ByteBuffer getByteBuffer()>();
staticinvoke <org.apache.logging.log4j.core.layout.TextEncoderHelper: void encodeText(java.nio.charset.CharsetEncoder,java.nio.CharBuffer,java.nio.ByteBuffer,java.lang.StringBuilder,org.apache.logging.log4j.core.layout.ByteBufferDestination)>(v, v, v, v, v);
exitmonitor v;
label:
goto label;
label:
v := @caughtexception;
exitmonitor v;
throw v;
label:
v := @caughtexception;
specialinvoke v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: void logEncodeTextException(java.lang.Exception,java.lang.StringBuilder,org.apache.logging.log4j.core.layout.ByteBufferDestination)>(v, v, v);
v = v.<org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder: java.nio.charset.Charset charset>;
staticinvoke <org.apache.logging.log4j.core.layout.TextEncoderHelper: void encodeTextFallBack(java.nio.charset.Charset,java.lang.StringBuilder,org.apache.logging.log4j.core.layout.ByteBufferDestination)>(v, v, v);
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Exception from label to label with label;
}
private void logEncodeTextException(java.lang.Exception, java.lang.StringBuilder, org.apache.logging.log4j.core.layout.ByteBufferDestination)
{
org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder v;
org.apache.logging.log4j.status.StatusLogger v;
org.apache.logging.log4j.core.layout.ByteBufferDestination v;
java.lang.StringBuilder v;
java.lang.Exception v;
v := @this: org.apache.logging.log4j.core.layout.LockingStringBuilderEncoder;
v := @parameter: java.lang.Exception;
v := @parameter: java.lang.StringBuilder;
v := @parameter: org.apache.logging.log4j.core.layout.ByteBufferDestination;
v = staticinvoke <org.apache.logging.log4j.status.StatusLogger: org.apache.logging.log4j.status.StatusLogger getLogger()>();
virtualinvoke v.<org.apache.logging.log4j.status.StatusLogger: void error(java.lang.String,java.lang.Object,java.lang.Object)>("Recovering from LockingStringBuilderEncoder.encode(\'{}\') error", v, v);
return;
}
}