// Automatically generated by xmlvm2csharp (do not edit).

using org.xmlvm;
namespace java.util.regex {
public class CharClass: global::java.util.regex.AbstractCharClass {
public bool _fci;

public bool _fuci;

public bool _fhasUCI;

public bool _finvertedSurrogates;

public bool _finverted;

public bool _fhideBits;

public global::java.util.BitSet _fbits;

public global::java.util.regex.AbstractCharClass _fnonBitSet;

new public void @this(){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: void <init>()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    _r1_o = this;
    _r0.i = 0;
    ((global::java.util.regex.AbstractCharClass) _r1_o).@this();
    ((global::java.util.regex.CharClass) _r1_o)._fci = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._fuci = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._fhasUCI = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._finvertedSurrogates = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._finverted = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._fhideBits = 0!=_r0.i;
    _r0_o = new global::java.util.BitSet();
    ((global::java.util.BitSet) _r0_o).@this();
    ((global::java.util.regex.CharClass) _r1_o)._fbits = (global::java.util.BitSet) _r0_o;
    _r0_o = null;
    ((global::java.util.regex.CharClass) _r1_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    return;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: void <init>()]
}

public void @this(bool n1, bool n2){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: void <init>(boolean, boolean)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r3;
    _r1_o = this;
    _r2.i = n1 ? 1 : 0;
    _r3.i = n2 ? 1 : 0;
    _r0.i = 0;
    ((global::java.util.regex.AbstractCharClass) _r1_o).@this();
    ((global::java.util.regex.CharClass) _r1_o)._fci = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._fuci = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._fhasUCI = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._finvertedSurrogates = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._finverted = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r1_o)._fhideBits = 0!=_r0.i;
    _r0_o = new global::java.util.BitSet();
    ((global::java.util.BitSet) _r0_o).@this();
    ((global::java.util.regex.CharClass) _r1_o)._fbits = (global::java.util.BitSet) _r0_o;
    _r0_o = null;
    ((global::java.util.regex.CharClass) _r1_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    ((global::java.util.regex.CharClass) _r1_o)._fci = 0!=_r2.i;
    ((global::java.util.regex.CharClass) _r1_o)._fuci = 0!=_r3.i;
    return;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: void <init>(boolean, boolean)]
}

public void @this(bool n1, bool n2, bool n3){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: void <init>(boolean, boolean, boolean)]
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r3;
    _r0_o = this;
    _r1.i = n1 ? 1 : 0;
    _r2.i = n2 ? 1 : 0;
    _r3.i = n3 ? 1 : 0;
    ((global::java.util.regex.CharClass) _r0_o).@this(0!=_r2.i, 0!=_r3.i);
    ((global::java.util.regex.CharClass) _r0_o).setNegative(0!=_r1.i);
    return;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: void <init>(boolean, boolean, boolean)]
}

public virtual global::System.Object add(int n1){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.util.regex.CharClass add(int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r4_o = null;
    global::org.xmlvm._nElement _r5;
    _r4_o = this;
    _r5.i = n1;
    _r2.i = 55296;
    _r3.i = 1;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._fci ? 1 : 0;
    if (_r0.i == 0) goto label129;
    _r0.i = 97;
    if (_r5.i < _r0.i) goto label16;
    _r0.i = 122;
    if (_r5.i <= _r0.i) goto label24;
    label16:;
    _r0.i = 65;
    if (_r5.i < _r0.i) goto label96;
    _r0.i = 90;
    if (_r5.i > _r0.i) goto label96;
    label24:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._finverted ? 1 : 0;
    if (_r0.i != 0) goto label84;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1.i = _r5.i & 0xffff;
    _r1.i = global::java.util.regex.Pattern.getSupplement((char) _r1.i);
    ((global::java.util.BitSet) _r0_o).set((int) _r1.i);
    _r0.i = _r5.i;
    label39:;
    _r1.i = global::java.util.regex.Lexer.isHighSurrogate((int) _r0.i) ? 1 : 0;
    if (_r1.i != 0) goto label51;
    _r1.i = global::java.util.regex.Lexer.isLowSurrogate((int) _r0.i) ? 1 : 0;
    if (_r1.i == 0) goto label62;
    label51:;
    _r1.i = ((global::java.util.regex.CharClass) _r4_o)._finvertedSurrogates ? 1 : 0;
    if (_r1.i != 0) goto label115;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r2.i = _r0.i - _r2.i;
    ((global::java.util.BitSet) _r1_o).set((int) _r2.i);
    label62:;
    _r1.i = ((global::java.util.regex.CharClass) _r4_o)._finverted ? 1 : 0;
    if (_r1.i != 0) goto label123;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    ((global::java.util.BitSet) _r1_o).set((int) _r0.i);
    label71:;
    _r1.i = ((global::java.util.regex.CharClass) _r4_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r1.i != 0) goto label83;
    _r0.i = global::java.lang.Character.isSupplementaryCodePoint((int) _r0.i) ? 1 : 0;
    if (_r0.i == 0) goto label83;
    ((global::java.util.regex.CharClass) _r4_o)._fmayContainSupplCodepoints = 0!=_r3.i;
    label83:;
    return (global::java.util.regex.CharClass) _r4_o;
    label84:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1.i = _r5.i & 0xffff;
    _r1.i = global::java.util.regex.Pattern.getSupplement((char) _r1.i);
    ((global::java.util.BitSet) _r0_o).clear((int) _r1.i);
    _r0.i = _r5.i;
    goto label39;
    label96:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._fuci ? 1 : 0;
    if (_r0.i == 0) goto label129;
    _r0.i = 128;
    if (_r5.i <= _r0.i) goto label129;
    ((global::java.util.regex.CharClass) _r4_o)._fhasUCI = 0!=_r3.i;
    _r0.i = global::java.lang.Character.toUpperCase((int) _r5.i);
    _r0.i = global::java.lang.Character.toLowerCase((int) _r0.i);
    goto label39;
    label115:;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r2.i = _r0.i - _r2.i;
    ((global::java.util.BitSet) _r1_o).clear((int) _r2.i);
    goto label62;
    label123:;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    ((global::java.util.BitSet) _r1_o).clear((int) _r0.i);
    goto label71;
    label129:;
    _r0.i = _r5.i;
    goto label39;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.util.regex.CharClass add(int)]
}

public virtual global::System.Object add(global::java.util.regex.AbstractCharClass n1){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.util.regex.CharClass add(java.util.regex.AbstractCharClass)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r4_o = null;
    global::System.Object _r5_o = null;
    _r4_o = this;
    _r5_o = n1;
    _r3.i = 0;
    _r2.i = 1;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r0.i != 0) goto label12;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r0.i == 0) goto label12;
    ((global::java.util.regex.CharClass) _r4_o)._fmayContainSupplCodepoints = 0!=_r2.i;
    label12:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._finvertedSurrogates ? 1 : 0;
    if (_r0.i != 0) goto label107;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label97;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).xor((global::java.util.BitSet) _r1_o);
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label95;
    _r0.i = _r3.i;
    label43:;
    ((global::java.util.regex.CharClass) _r4_o)._faltSurrogates = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r4_o)._finvertedSurrogates = 0!=_r2.i;
    label47:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._fhideBits ? 1 : 0;
    if (_r0.i != 0) goto label169;
    _r0_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    if (_r0_o == null) goto label169;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._finverted ? 1 : 0;
    if (_r0.i != 0) goto label143;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o).isNegative() ? 1 : 0;
    if (_r0.i == 0) goto label133;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).xor((global::java.util.BitSet) _r1_o);
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._falt ? 1 : 0;
    if (_r0.i == 0) goto label131;
    _r0.i = _r3.i;
    label90:;
    ((global::java.util.regex.CharClass) _r4_o)._falt = 0!=_r0.i;
    ((global::java.util.regex.CharClass) _r4_o)._finverted = 0!=_r2.i;
    label94:;
    return (global::java.util.regex.CharClass) _r4_o;
    label95:;
    _r0.i = _r2.i;
    goto label43;
    label97:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).or((global::java.util.BitSet) _r1_o);
    goto label47;
    label107:;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label121;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    goto label47;
    label121:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).andNot((global::java.util.BitSet) _r1_o);
    goto label47;
    label131:;
    _r0.i = _r2.i;
    goto label90;
    label133:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).or((global::java.util.BitSet) _r1_o);
    goto label94;
    label143:;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o).isNegative() ? 1 : 0;
    if (_r0.i == 0) goto label159;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    goto label94;
    label159:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).andNot((global::java.util.BitSet) _r1_o);
    goto label94;
    label169:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._falt ? 1 : 0;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet;
    if (_r1_o != null) goto label217;
    if (_r0.i == 0) goto label199;
    _r1.i = ((global::java.util.regex.CharClass) _r4_o)._finverted ? 1 : 0;
    if (_r1.i != 0) goto label199;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1.i = ((global::java.util.BitSet) _r1_o).isEmpty() ? 1 : 0;
    if (_r1.i == 0) goto label199;
    _r0_o = new global::java.util.regex.CharClass_21();
    ((global::java.util.regex.CharClass_21) _r0_o).@this((global::java.util.regex.CharClass) _r4_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    label196:;
    ((global::java.util.regex.CharClass) _r4_o)._fhideBits = 0!=_r2.i;
    goto label94;
    label199:;
    if (_r0.i == 0) goto label209;
    _r1_o = new global::java.util.regex.CharClass_22();
    ((global::java.util.regex.CharClass_22) _r1_o).@this((global::java.util.regex.CharClass) _r4_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r1_o;
    goto label196;
    label209:;
    _r1_o = new global::java.util.regex.CharClass_23();
    ((global::java.util.regex.CharClass_23) _r1_o).@this((global::java.util.regex.CharClass) _r4_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r1_o;
    goto label196;
    label217:;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet;
    if (_r0.i == 0) goto label230;
    _r2_o = new global::java.util.regex.CharClass_24();
    ((global::java.util.regex.CharClass_24) _r2_o).@this((global::java.util.regex.CharClass) _r4_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r1_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r2_o;
    goto label94;
    label230:;
    _r2_o = new global::java.util.regex.CharClass_25();
    ((global::java.util.regex.CharClass_25) _r2_o).@this((global::java.util.regex.CharClass) _r4_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r1_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r2_o;
    goto label94;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.util.regex.CharClass add(java.util.regex.AbstractCharClass)]
}

public virtual global::System.Object add(int n1, int n2){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.util.regex.CharClass add(int, int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::org.xmlvm._nElement _r4;
    _r2_o = this;
    _r3.i = n1;
    _r4.i = n2;
    if (_r3.i <= _r4.i) goto label8;
    _r0_o = new global::java.lang.IllegalArgumentException();
    ((global::java.lang.IllegalArgumentException) _r0_o).@this();
    throw new global::org.xmlvm._nExceptionAdapter((global::java.lang.IllegalArgumentException) _r0_o);
    label8:;
    _r0.i = ((global::java.util.regex.CharClass) _r2_o)._fci ? 1 : 0;
    if (_r0.i != 0) goto label42;
    _r0.i = 55296;
    if (_r4.i < _r0.i) goto label22;
    _r0.i = 57343;
    if (_r3.i <= _r0.i) goto label42;
    label22:;
    _r0.i = ((global::java.util.regex.CharClass) _r2_o)._finverted ? 1 : 0;
    if (_r0.i != 0) goto label34;
    _r0_o = ((global::java.util.regex.CharClass) _r2_o)._fbits;
    _r1.i = _r4.i + 1;
    ((global::java.util.BitSet) _r0_o).set((int) _r3.i, (int) _r1.i);
    label33:;
    return (global::java.util.regex.CharClass) _r2_o;
    label34:;
    _r0_o = ((global::java.util.regex.CharClass) _r2_o)._fbits;
    _r1.i = _r4.i + 1;
    ((global::java.util.BitSet) _r0_o).clear((int) _r3.i, (int) _r1.i);
    goto label33;
    label42:;
    _r0.i = _r3.i;
    label43:;
    _r1.i = _r4.i + 1;
    if (_r0.i >= _r1.i) goto label33;
    ((global::java.util.regex.CharClass) _r2_o).add((int) _r0.i);
    _r0.i = _r0.i + 1;
    goto label43;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.util.regex.CharClass add(int, int)]
}

public virtual void union(global::java.util.regex.AbstractCharClass n1){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: void union(java.util.regex.AbstractCharClass)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::System.Object _r3_o = null;
    global::System.Object _r4_o = null;
    _r3_o = this;
    _r4_o = n1;
    _r2.i = 1;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r0.i != 0) goto label11;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r4_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r0.i == 0) goto label11;
    ((global::java.util.regex.CharClass) _r3_o)._fmayContainSupplCodepoints = 0!=_r2.i;
    label11:;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r4_o).hasUCI() ? 1 : 0;
    if (_r0.i == 0) goto label19;
    ((global::java.util.regex.CharClass) _r3_o)._fhasUCI = 0!=_r2.i;
    label19:;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._faltSurrogates ? 1 : 0;
    _r1.i = ((global::java.util.regex.AbstractCharClass) _r4_o)._faltSurrogates ? 1 : 0;
    _r0.i = _r0.i ^ _r1.i;
    if (_r0.i == 0) goto label93;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label72;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).andNot((global::java.util.BitSet) _r1_o);
    label39:;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._fhideBits ? 1 : 0;
    if (_r0.i != 0) goto label162;
    _r0_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getBits();
    if (_r0_o == null) goto label162;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._falt ? 1 : 0;
    _r1.i = ((global::java.util.regex.AbstractCharClass) _r4_o).isNegative() ? 1 : 0;
    _r0.i = _r0.i ^ _r1.i;
    if (_r0.i == 0) goto label138;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._falt ? 1 : 0;
    if (_r0.i == 0) goto label117;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getBits();
    ((global::java.util.BitSet) _r0_o).andNot((global::java.util.BitSet) _r1_o);
    label71:;
    return;
    label72:;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).xor((global::java.util.BitSet) _r1_o);
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    ((global::java.util.regex.CharClass) _r3_o)._faltSurrogates = 0!=_r2.i;
    goto label39;
    label93:;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label107;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    goto label39;
    label107:;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).or((global::java.util.BitSet) _r1_o);
    goto label39;
    label117:;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getBits();
    ((global::java.util.BitSet) _r0_o).xor((global::java.util.BitSet) _r1_o);
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getBits();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    ((global::java.util.regex.CharClass) _r3_o)._falt = 0!=_r2.i;
    goto label71;
    label138:;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._falt ? 1 : 0;
    if (_r0.i == 0) goto label152;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getBits();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    goto label71;
    label152:;
    _r0_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r4_o).getBits();
    ((global::java.util.BitSet) _r0_o).or((global::java.util.BitSet) _r1_o);
    goto label71;
    label162:;
    _r0.i = ((global::java.util.regex.CharClass) _r3_o)._falt ? 1 : 0;
    _r1_o = ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet;
    if (_r1_o != null) goto label218;
    _r1.i = ((global::java.util.regex.CharClass) _r3_o)._finverted ? 1 : 0;
    if (_r1.i != 0) goto label200;
    _r1_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1.i = ((global::java.util.BitSet) _r1_o).isEmpty() ? 1 : 0;
    if (_r1.i == 0) goto label200;
    if (_r0.i == 0) goto label192;
    _r0_o = new global::java.util.regex.CharClass_26();
    ((global::java.util.regex.CharClass_26) _r0_o).@this((global::java.util.regex.CharClass) _r3_o, (global::java.util.regex.AbstractCharClass) _r4_o);
    ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    label189:;
    ((global::java.util.regex.CharClass) _r3_o)._fhideBits = 0!=_r2.i;
    goto label71;
    label192:;
    _r0_o = new global::java.util.regex.CharClass_27();
    ((global::java.util.regex.CharClass_27) _r0_o).@this((global::java.util.regex.CharClass) _r3_o, (global::java.util.regex.AbstractCharClass) _r4_o);
    ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    goto label189;
    label200:;
    if (_r0.i == 0) goto label210;
    _r1_o = new global::java.util.regex.CharClass_28();
    ((global::java.util.regex.CharClass_28) _r1_o).@this((global::java.util.regex.CharClass) _r3_o, (global::java.util.regex.AbstractCharClass) _r4_o, 0!=_r0.i);
    ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r1_o;
    goto label189;
    label210:;
    _r1_o = new global::java.util.regex.CharClass_29();
    ((global::java.util.regex.CharClass_29) _r1_o).@this((global::java.util.regex.CharClass) _r3_o, (global::java.util.regex.AbstractCharClass) _r4_o, 0!=_r0.i);
    ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r1_o;
    goto label189;
    label218:;
    _r1_o = ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet;
    if (_r0.i == 0) goto label231;
    _r2_o = new global::java.util.regex.CharClass_210();
    ((global::java.util.regex.CharClass_210) _r2_o).@this((global::java.util.regex.CharClass) _r3_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r1_o, (global::java.util.regex.AbstractCharClass) _r4_o);
    ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r2_o;
    goto label71;
    label231:;
    _r2_o = new global::java.util.regex.CharClass_211();
    ((global::java.util.regex.CharClass_211) _r2_o).@this((global::java.util.regex.CharClass) _r3_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r1_o, (global::java.util.regex.AbstractCharClass) _r4_o);
    ((global::java.util.regex.CharClass) _r3_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r2_o;
    goto label71;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: void union(java.util.regex.AbstractCharClass)]
}

public virtual void intersection(global::java.util.regex.AbstractCharClass n1){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: void intersection(java.util.regex.AbstractCharClass)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    global::System.Object _r4_o = null;
    global::System.Object _r5_o = null;
    _r4_o = this;
    _r5_o = n1;
    _r3.i = 0;
    _r2.i = 1;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r0.i != 0) goto label12;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o)._fmayContainSupplCodepoints ? 1 : 0;
    if (_r0.i == 0) goto label12;
    ((global::java.util.regex.CharClass) _r4_o)._fmayContainSupplCodepoints = 0!=_r2.i;
    label12:;
    _r0.i = ((global::java.util.regex.AbstractCharClass) _r5_o).hasUCI() ? 1 : 0;
    if (_r0.i == 0) goto label20;
    ((global::java.util.regex.CharClass) _r4_o)._fhasUCI = 0!=_r2.i;
    label20:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._faltSurrogates ? 1 : 0;
    _r1.i = ((global::java.util.regex.AbstractCharClass) _r5_o)._faltSurrogates ? 1 : 0;
    _r0.i = _r0.i ^ _r1.i;
    if (_r0.i == 0) goto label105;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label95;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).xor((global::java.util.BitSet) _r1_o);
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    ((global::java.util.regex.CharClass) _r4_o)._faltSurrogates = 0!=_r3.i;
    label51:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._fhideBits ? 1 : 0;
    if (_r0.i != 0) goto label163;
    _r0_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    if (_r0_o == null) goto label163;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._falt ? 1 : 0;
    _r1.i = ((global::java.util.regex.AbstractCharClass) _r5_o).isNegative() ? 1 : 0;
    _r0.i = _r0.i ^ _r1.i;
    if (_r0.i == 0) goto label139;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._falt ? 1 : 0;
    if (_r0.i == 0) goto label129;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).xor((global::java.util.BitSet) _r1_o);
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    ((global::java.util.regex.CharClass) _r4_o)._falt = 0!=_r3.i;
    label94:;
    return;
    label95:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).andNot((global::java.util.BitSet) _r1_o);
    goto label51;
    label105:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._faltSurrogates ? 1 : 0;
    if (_r0.i == 0) goto label119;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).or((global::java.util.BitSet) _r1_o);
    goto label51;
    label119:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._flowHighSurrogates;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getLowHighSurrogates();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    goto label51;
    label129:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).andNot((global::java.util.BitSet) _r1_o);
    goto label94;
    label139:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._falt ? 1 : 0;
    if (_r0.i == 0) goto label153;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).or((global::java.util.BitSet) _r1_o);
    goto label94;
    label153:;
    _r0_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1_o = ((global::java.util.regex.AbstractCharClass) _r5_o).getBits();
    ((global::java.util.BitSet) _r0_o).and((global::java.util.BitSet) _r1_o);
    goto label94;
    label163:;
    _r0.i = ((global::java.util.regex.CharClass) _r4_o)._falt ? 1 : 0;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet;
    if (_r1_o != null) goto label219;
    _r1.i = ((global::java.util.regex.CharClass) _r4_o)._finverted ? 1 : 0;
    if (_r1.i != 0) goto label201;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fbits;
    _r1.i = ((global::java.util.BitSet) _r1_o).isEmpty() ? 1 : 0;
    if (_r1.i == 0) goto label201;
    if (_r0.i == 0) goto label193;
    _r0_o = new global::java.util.regex.CharClass_212();
    ((global::java.util.regex.CharClass_212) _r0_o).@this((global::java.util.regex.CharClass) _r4_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    label190:;
    ((global::java.util.regex.CharClass) _r4_o)._fhideBits = 0!=_r2.i;
    goto label94;
    label193:;
    _r0_o = new global::java.util.regex.CharClass_213();
    ((global::java.util.regex.CharClass_213) _r0_o).@this((global::java.util.regex.CharClass) _r4_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r0_o;
    goto label190;
    label201:;
    if (_r0.i == 0) goto label211;
    _r1_o = new global::java.util.regex.CharClass_214();
    ((global::java.util.regex.CharClass_214) _r1_o).@this((global::java.util.regex.CharClass) _r4_o, (global::java.util.regex.AbstractCharClass) _r5_o, 0!=_r0.i);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r1_o;
    goto label190;
    label211:;
    _r1_o = new global::java.util.regex.CharClass_215();
    ((global::java.util.regex.CharClass_215) _r1_o).@this((global::java.util.regex.CharClass) _r4_o, (global::java.util.regex.AbstractCharClass) _r5_o, 0!=_r0.i);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r1_o;
    goto label190;
    label219:;
    _r1_o = ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet;
    if (_r0.i == 0) goto label232;
    _r2_o = new global::java.util.regex.CharClass_216();
    ((global::java.util.regex.CharClass_216) _r2_o).@this((global::java.util.regex.CharClass) _r4_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r1_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r2_o;
    goto label94;
    label232:;
    _r2_o = new global::java.util.regex.CharClass_217();
    ((global::java.util.regex.CharClass_217) _r2_o).@this((global::java.util.regex.CharClass) _r4_o, 0!=_r0.i, (global::java.util.regex.AbstractCharClass) _r1_o, (global::java.util.regex.AbstractCharClass) _r5_o);
    ((global::java.util.regex.CharClass) _r4_o)._fnonBitSet = (global::java.util.regex.AbstractCharClass) _r2_o;
    goto label94;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: void intersection(java.util.regex.AbstractCharClass)]
}

public override bool contains(int n1){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: boolean contains(int)]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::System.Object _r2_o = null;
    global::org.xmlvm._nElement _r3;
    _r2_o = this;
    _r3.i = n1;
    _r0_o = ((global::java.util.regex.CharClass) _r2_o)._fnonBitSet;
    if (_r0_o != null) goto label14;
    _r0.i = ((global::java.util.regex.CharClass) _r2_o)._falt ? 1 : 0;
    _r1_o = ((global::java.util.regex.CharClass) _r2_o)._fbits;
    _r1.i = ((global::java.util.BitSet) _r1_o).get((int) _r3.i) ? 1 : 0;
    _r0.i = _r0.i ^ _r1.i;
    label13:;
    return _r0.i!=0;
    label14:;
    _r0.i = ((global::java.util.regex.CharClass) _r2_o)._falt ? 1 : 0;
    _r1_o = ((global::java.util.regex.CharClass) _r2_o)._fnonBitSet;
    _r1.i = ((global::java.util.regex.AbstractCharClass) _r1_o).contains((int) _r3.i) ? 1 : 0;
    _r0.i = _r0.i ^ _r1.i;
    goto label13;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: boolean contains(int)]
}

public override global::System.Object getBits(){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.util.BitSet getBits()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    _r1_o = this;
    _r0.i = ((global::java.util.regex.CharClass) _r1_o)._fhideBits ? 1 : 0;
    if (_r0.i == 0) goto label6;
    _r0_o = null;
    label5:;
    return (global::java.util.BitSet) _r0_o;
    label6:;
    _r0_o = ((global::java.util.regex.CharClass) _r1_o)._fbits;
    goto label5;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.util.BitSet getBits()]
}

public override global::System.Object getLowHighSurrogates(){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.util.BitSet getLowHighSurrogates()]
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    _r1_o = this;
    _r0_o = ((global::java.util.regex.CharClass) _r1_o)._flowHighSurrogates;
    return (global::java.util.BitSet) _r0_o;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.util.BitSet getLowHighSurrogates()]
}

public override global::System.Object getInstance(){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.util.regex.AbstractCharClass getInstance()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r0_o = null;
    global::System.Object _r1_o = null;
    global::System.Object _r2_o = null;
    _r2_o = this;
    _r0_o = ((global::java.util.regex.CharClass) _r2_o)._fnonBitSet;
    if (_r0_o != null) goto label22;
    _r0_o = ((global::java.util.regex.CharClass) _r2_o).getBits();
    _r1_o = new global::java.util.regex.CharClass_218();
    ((global::java.util.regex.CharClass_218) _r1_o).@this((global::java.util.regex.CharClass) _r2_o, (global::java.util.BitSet) _r0_o);
    _r0.i = ((global::java.util.regex.CharClass) _r2_o).isNegative() ? 1 : 0;
    _r0_o = ((global::java.util.regex.AbstractCharClass) _r1_o).setNegative(0!=_r0.i);
    label21:;
    return (global::java.util.regex.AbstractCharClass) _r0_o;
    label22:;
    _r0_o = _r2_o;
    goto label21;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.util.regex.AbstractCharClass getInstance()]
}

public override global::System.Object toString(){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: java.lang.String toString()]
    global::System.Object _r0_o = null;
    global::org.xmlvm._nElement _r1;
    global::System.Object _r1_o = null;
    global::org.xmlvm._nElement _r2;
    global::System.Object _r2_o = null;
    global::System.Object _r3_o = null;
    _r3_o = this;
    _r0_o = new global::java.lang.StringBuilder();
    ((global::java.lang.StringBuilder) _r0_o).@this();
    _r1_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r2.i = 0;
    _r1.i = ((global::java.util.BitSet) _r1_o).nextSetBit((int) _r2.i);
    label12:;
    if (_r1.i >= 0) goto label34;
    _r1.i = ((global::java.lang.StringBuilder) _r0_o).length();
    if (_r1.i <= 0) goto label29;
    _r1.i = ((global::java.lang.StringBuilder) _r0_o).length();
    _r2.i = 1;
    _r1.i = _r1.i - _r2.i;
    ((global::java.lang.StringBuilder) _r0_o).deleteCharAt((int) _r1.i);
    label29:;
    _r0_o = ((global::java.lang.StringBuilder) _r0_o).toString();
    return (global::java.lang.String) _r0_o;
    label34:;
    _r2_o = global::java.lang.Character.toChars((int) _r1.i);
    ((global::java.lang.StringBuilder) _r0_o).append((global::org.xmlvm._nArrayAdapter<char>) _r2_o);
    _r2.i = 124;
    ((global::java.lang.StringBuilder) _r0_o).append((char) _r2.i);
    _r2_o = ((global::java.util.regex.CharClass) _r3_o)._fbits;
    _r1.i = _r1.i + 1;
    _r1.i = ((global::java.util.BitSet) _r2_o).nextSetBit((int) _r1.i);
    goto label12;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: java.lang.String toString()]
}

public override bool hasUCI(){
//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass: boolean hasUCI()]
    global::org.xmlvm._nElement _r0;
    global::System.Object _r1_o = null;
    _r1_o = this;
    _r0.i = ((global::java.util.regex.CharClass) _r1_o)._fhasUCI ? 1 : 0;
    return _r0.i!=0;
//XMLVM_END_WRAPPER[java.util.regex.CharClass: boolean hasUCI()]
}

//XMLVM_BEGIN_WRAPPER[java.util.regex.CharClass]
//XMLVM_END_WRAPPER[java.util.regex.CharClass]

} // end of class: CharClass

} // end of namespace: java.util.regex
