More 218 trouble with ikvm DLL - unicode constants

It turns out that certain unicode character constants aren't handled by
Resharper 218 very well. If you have a constant character that has a
nasty unicode value that cannot be serialized alone, it kills Resharper
with a binarywriter error that says that the character cannot be
serialized alone.

I have a bug submitted for this, but i can't find it right now.

Here's the reflector reverse engineered class that kills resharper.
It's likely the MIN/MAX_SURROGATE constants causing the problem:

[Implements(new string[] { "java.io.Serializable",
"java.lang.Comparable" })]
public sealed class Character : Object, Serializable.__Interface, Comparable
{
// Methods
[LineNumberTable(new byte[] {
0xa3, 0x98, 0xec, 0x4c, 0xef, 0xa1, 0x67, 0xef, 0x47, 0xef,
0x48, 0x2a, 0xe5, 0x48, 0xef, 0x47,
0xef, 0x48, 0xef, 0x47, 0xef, 0x9a, 0x9d
})]
static Character();
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9e, 8, 0x63, 0x88, 0x67 })]
public Character(char value);
public static void __]]>();
[LineNumberTable(new byte[] { 0xa9, 0x15, 0x6b, 0x66, 0xe1, 0x3d })]
public static int charCount(int codePoint);

public virtual char charValue();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0xa0d)]
public static int codePointAt(char[] chars, int index);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x12, 0x8b, 0x73, 0x6f, 0x70, 0x7a, 0x7a, 0x63, 0x7a,
0x6d, 0x63 })]
public static int codePointAt(CharSequence sequence, int index);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa9, 0xb0, 0x7d, 0x70, 100, 120, 0x62, 100, 0x6c, 0x62 })]
public static int codePointAt(char[] chars, int index, int limit);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9c, 0xf3, 0x8b, 0x73, 0x6f, 0x70, 0x65, 0x7a, 0x79, 0x63,
0x7a, 0x6d, 0x63 })]
public static int codePointBefore(CharSequence sequence, int index);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0xa3c)]
public static int codePointBefore(char[] chars, int index);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa9, 0xe0, 0x6f, 0x6f, 0x70, 0x65, 100, 120, 0x62, 100, 0x6c,
0x62 })]
public static int codePointBefore(char[] chars, int index, int
start);

public virtual int compareTo(Character anotherCharacter);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x918)]
public virtual int compareTo(object o);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x90, 0x83, 0x6f, 0x62, 0x67, 0x69, 0x25, 0xe7, 70, 0x6d,
0x8f })]
public static int digit(char ch, int radix);

public override bool equals(object o);
[LineNumberTable(new byte[] { 0xa8, 0x53, 0x6f, 110, 0x62 })]
public static char forDigit(int digit, int radix);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x8ea)]
public static byte getDirectionality(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x827)]
public static int getNumericValue(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x8b1)]
public static int getType(char ch);

public override int hashCode();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x6b0)]
public static bool isDefined(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x69c)]
public static bool isDigit(char ch);

public static bool isHighSurrogate(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xa5, 0x83, 0x7b, 0x70, 0x10 })]
public static bool isIdentifierIgnorable(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x887)]
public static bool isISOControl(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xbd, 0x83, 0x67, 0x66, 0x25, 0xe7, 0x4d, 0xf7, 0x33 })]
public static bool isJavaIdentifierPart(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xc5, 0x83, 0x6b, 0x25 })]
public static bool isJavaIdentifierStart(char ch);
[MethodImpl(MethodImplOptions.NoInlining), Obsolete,
LineNumberTable((ushort) 0x6fb)]
public static bool isJavaLetter(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x712), Obsolete]
public static bool isJavaLetterOrDigit(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xdd, 0xa3, 0x6b, 0x22 })]
public static bool isLetter(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xd6, 0x43, 0x6b, 0x25 })]
public static bool isLetterOrDigit(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x667)]
public static bool isLowerCase(char ch);

public static bool isLowSurrogate(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x8f8)]
public static bool isMirrored(char ch);
[LineNumberTable(new byte[] { 0x9d, 0x80, 0x83, 0x73, 0x2f }),
Obsolete]
public static bool isSpace(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x7b, 0xa3, 0x6b, 0x25 })]
public static bool isSpaceChar(char ch);
[LineNumberTable(new byte[] { 0xa9, 0x27, 0x6b, 0x2e })]
public static bool isSupplementaryCodePoint(int codePoint);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x9d0)]
public static bool isSurrogatePair(char ch1, char ch2);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x68b)]
public static bool isTitleCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xad, 0x43, 0x67, 0x66, 0x25, 0xe7, 0x4c, 0xf7, 0x34 })]
public static bool isUnicodeIdentifierPart(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xb5, 0xa3, 0x6b, 0x25 })]
public static bool isUnicodeIdentifierStart(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x679)]
public static bool isUpperCase(char ch);

public static bool isValidCodePoint(int codePoint);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x74, 0x43, 0x67, 0x69, 0x25, 0xc7, 0x6a, 110, 0xef, 0x3a })]
public static bool isWhitespace(char ch);

int IComparable.Object;)I(object);
public static implicit operator Serializable(Character);

internal static char readChar(char);

public static char reverseBytes(char val);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa8, 0xd7, 0x6c, 0x69 })]
public static char[] toChars(int codePoint);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa8, 0xf0, 140, 0x6a, 0x2b, 0xf0, 0x45, 0xcc, 0x68, 0x7c,
0x79, 0xc7, 0x65, 130 })]
public static int toChars(int codePoint, char[] dst, int dstIndex);
[LineNumberTable(new byte[] { 0x9d, 0x17, 0x86, 0x6d, 0x27, 0x61,
0x25 })]
public static int toCodePoint(char high, char low);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x7bb)]
public static char toLowerCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x648)]
public override string toString();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x655)]
public static string toString(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 150, 0x43, 110, 0x6d, 10, 0xa9 })]
public static char toTitleCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x7ce)]
public static char toUpperCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x45, 0xa3, 0x68, 0x67, 140, 110, 0x6f, 0xff, 13, 60 })]
public static Character valueOf(char val);

// Fields
private static readonly char[] blocks;
private static Character[] charCache;
public const byte COMBINING_SPACING_MARK = 8;
public const byte CONNECTOR_PUNCTUATION = 0x17;
public const byte CONTROL = 15;
public const byte CURRENCY_SYMBOL = 0x1a;
public const byte DASH_PUNCTUATION = 20;
private static readonly char[] data;
public const byte DECIMAL_DIGIT_NUMBER = 9;
internal static readonly char[] direction;
public const byte DIRECTIONALITY_ARABIC_NUMBER = 6;
public const byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9;
public const byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7;
public const byte DIRECTIONALITY_EUROPEAN_NUMBER = 3;
public const byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4;
public const byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5;
public const byte DIRECTIONALITY_LEFT_TO_RIGHT = 0;
public const byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14;
public const byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15;
public const byte DIRECTIONALITY_NONSPACING_MARK = 8;
public const byte DIRECTIONALITY_OTHER_NEUTRALS = 13;
public const byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10;
public const byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 0x12;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT = 1;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 0x10;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 0x11;
public const byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11;
public const byte DIRECTIONALITY_UNDEFINED = 0xff;
public const byte DIRECTIONALITY_WHITESPACE = 12;
public const byte ENCLOSING_MARK = 7;
public const byte END_PUNCTUATION = 0x16;
public const byte FINAL_QUOTE_PUNCTUATION = 30;
public const byte FORMAT = 0x10;
public const byte INITIAL_QUOTE_PUNCTUATION = 0x1d;
public const byte LETTER_NUMBER = 10;
public const byte LINE_SEPARATOR = 13;
private static readonly char[] lower;
public const byte LOWERCASE_LETTER = 2;
public const byte MATH_SYMBOL = 0x19;
public const int MAX_CODE_POINT = 0x10ffff;
public const char MAX_HIGH_SURROGATE = '\udbff';
public const char MAX_LOW_SURROGATE = '\udfff';
public const int MAX_RADIX = 0x24;
public const char MAX_SURROGATE = '\udfff';
public const char MAX_VALUE = '\uffff';
public const int MIN_CODE_POINT = 0;
public const char MIN_HIGH_SURROGATE = '\ud800';
public const char MIN_LOW_SURROGATE = '\udc00';
public const int MIN_RADIX = 2;
public const int MIN_SUPPLEMENTARY_CODE_POINT = 0x10000;
public const char MIN_SURROGATE = '\ud800';
public const char MIN_VALUE = '\0';
public const byte MODIFIER_LETTER = 4;
public const byte MODIFIER_SYMBOL = 0x1b;
public const byte NON_SPACING_MARK = 6;
private static readonly char[] numValue;
public const byte OTHER_LETTER = 5;
public const byte OTHER_NUMBER = 11;
public const byte OTHER_PUNCTUATION = 0x18;
public const byte OTHER_SYMBOL = 0x1c;
public const byte PARAGRAPH_SEPARATOR = 14;
public const byte PRIVATE_USE = 0x12;
private const long serialVersionUID = 0x348b47d96b1a2678;
public const int SIZE = 0x10;
public const byte SPACE_SEPARATOR = 12;
public const byte START_PUNCTUATION = 0x15;
public const byte SURROGATE = 0x13;
private static readonly char[] title;
public const byte TITLECASE_LETTER = 3;
public static readonly Class TYPE;
public const byte UNASSIGNED = 0;
private static readonly char[] upper;
public const byte UPPERCASE_LETTER = 1;
private readonly char value;

// Nested Types
[SourceFile("Character.java"), InnerClass(null, Modifiers.Static
| Modifiers.Public)]
public class Subset : Object
{
// Methods
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable(new byte[] { 40, 0xa8, 0x6c })]
protected internal Subset(string name);

public sealed override bool equals(object o);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x75)]
public sealed override int hashCode();

public sealed override string toString();

// Fields
private readonly string name;
}

[InnerClass(null, Modifiers.Static | Modifiers.Public |
Modifiers.Final), SourceFile("Character.java")]
public sealed class UnicodeBlock : Character.Subset
{
// Methods
[LineNumberTable(new byte[] {
160, 0x55, 0x63, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25,
0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x4a,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a,
0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25,
0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25,
0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a,
0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x47, 0x69, 0x68, 0x68, 0x68, 0x68,
0x68, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0xe6, 0x9f, 0xab, 0xe5, 0x9d, 0x10
})]
static UnicodeBlock();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable(new byte[] { 0x9f, 0x66, 0x66, 0x69, 0x67, 0x67 })]
private UnicodeBlock(char, char, string);
public static void __]]>();
[LineNumberTable(new byte[] {
0x9f, 0x63, 0xa3, 0x6b, 0x86, 0x62, 0x69, 0x85, 0x69,
0x69, 0x6d, 0x69, 0x6d, 0x89, 0xe3, 0x37,
0xe4, 0x4b
})]
public static Character.UnicodeBlock of(char ch);

// Fields
public static readonly Character.UnicodeBlock
ALPHABETIC_PRESENTATION_FORMS;
public static readonly Character.UnicodeBlock ARABIC;
public static readonly Character.UnicodeBlock
ARABIC_PRESENTATION_FORMS_A;
public static readonly Character.UnicodeBlock
ARABIC_PRESENTATION_FORMS_B;
public static readonly Character.UnicodeBlock ARMENIAN;
public static readonly Character.UnicodeBlock ARROWS;
public static readonly Character.UnicodeBlock BASIC_LATIN;
public static readonly Character.UnicodeBlock BENGALI;
public static readonly Character.UnicodeBlock BLOCK_ELEMENTS;
public static readonly Character.UnicodeBlock BOPOMOFO;
public static readonly Character.UnicodeBlock
BOPOMOFO_EXTENDED;
public static readonly Character.UnicodeBlock BOX_DRAWING;
public static readonly Character.UnicodeBlock BRAILLE_PATTERNS;
public static readonly Character.UnicodeBlock CHEROKEE;
public static readonly Character.UnicodeBlock
CJK_COMPATIBILITY;
public static readonly Character.UnicodeBlock
CJK_COMPATIBILITY_FORMS;
public static readonly Character.UnicodeBlock
CJK_COMPATIBILITY_IDEOGRAPHS;
public static readonly Character.UnicodeBlock
CJK_RADICALS_SUPPLEMENT;
public static readonly Character.UnicodeBlock
CJK_SYMBOLS_AND_PUNCTUATION;
public static readonly Character.UnicodeBlock
CJK_UNIFIED_IDEOGRAPHS;
public static readonly Character.UnicodeBlock
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
public static readonly Character.UnicodeBlock
COMBINING_DIACRITICAL_MARKS;
public static readonly Character.UnicodeBlock
COMBINING_HALF_MARKS;
public static readonly Character.UnicodeBlock
COMBINING_MARKS_FOR_SYMBOLS;
public static readonly Character.UnicodeBlock CONTROL_PICTURES;
public static readonly Character.UnicodeBlock CURRENCY_SYMBOLS;
public static readonly Character.UnicodeBlock CYRILLIC;
public static readonly Character.UnicodeBlock DEVANAGARI;
public static readonly Character.UnicodeBlock DINGBATS;
public static readonly Character.UnicodeBlock
ENCLOSED_ALPHANUMERICS;
public static readonly Character.UnicodeBlock
ENCLOSED_CJK_LETTERS_AND_MONTHS;
private readonly char end;
public static readonly Character.UnicodeBlock ETHIOPIC;
public static readonly Character.UnicodeBlock
GENERAL_PUNCTUATION;
public static readonly Character.UnicodeBlock GEOMETRIC_SHAPES;
public static readonly Character.UnicodeBlock GEORGIAN;
public static readonly Character.UnicodeBlock GREEK;
public static readonly Character.UnicodeBlock GREEK_EXTENDED;
public static readonly Character.UnicodeBlock GUJARATI;
public static readonly Character.UnicodeBlock GURMUKHI;
public static readonly Character.UnicodeBlock
HALFWIDTH_AND_FULLWIDTH_FORMS;
public static readonly Character.UnicodeBlock
HANGUL_COMPATIBILITY_JAMO;
public static readonly Character.UnicodeBlock HANGUL_JAMO;
public static readonly Character.UnicodeBlock HANGUL_SYLLABLES;
public static readonly Character.UnicodeBlock HEBREW;
public static readonly Character.UnicodeBlock HIRAGANA;
public static readonly Character.UnicodeBlock
IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
public static readonly Character.UnicodeBlock IPA_EXTENSIONS;
public static readonly Character.UnicodeBlock KANBUN;
public static readonly Character.UnicodeBlock KANGXI_RADICALS;
public static readonly Character.UnicodeBlock KANNADA;
public static readonly Character.UnicodeBlock KATAKANA;
public static readonly Character.UnicodeBlock KHMER;
public static readonly Character.UnicodeBlock LAO;
public static readonly Character.UnicodeBlock
LATIN_1_SUPPLEMENT;
public static readonly Character.UnicodeBlock LATIN_EXTENDED_A;
public static readonly Character.UnicodeBlock
LATIN_EXTENDED_ADDITIONAL;
public static readonly Character.UnicodeBlock LATIN_EXTENDED_B;
public static readonly Character.UnicodeBlock
LETTERLIKE_SYMBOLS;
public static readonly Character.UnicodeBlock MALAYALAM;
public static readonly Character.UnicodeBlock
MATHEMATICAL_OPERATORS;
public static readonly Character.UnicodeBlock
MISCELLANEOUS_SYMBOLS;
public static readonly Character.UnicodeBlock
MISCELLANEOUS_TECHNICAL;
public static readonly Character.UnicodeBlock MONGOLIAN;
public static readonly Character.UnicodeBlock MYANMAR;
public static readonly Character.UnicodeBlock NUMBER_FORMS;
public static readonly Character.UnicodeBlock OGHAM;
public static readonly Character.UnicodeBlock
OPTICAL_CHARACTER_RECOGNITION;
public static readonly Character.UnicodeBlock ORIYA;
public static readonly Character.UnicodeBlock PRIVATE_USE_AREA;
public static readonly Character.UnicodeBlock RUNIC;
private static readonly Character.UnicodeBlock[] sets;
public static readonly Character.UnicodeBlock SINHALA;
public static readonly Character.UnicodeBlock
SMALL_FORM_VARIANTS;
public static readonly Character.UnicodeBlock
SPACING_MODIFIER_LETTERS;
public static readonly Character.UnicodeBlock SPECIALS;
private readonly char start;
public static readonly Character.UnicodeBlock
SUPERSCRIPTS_AND_SUBSCRIPTS;
public static readonly Character.UnicodeBlock SURROGATES_AREA;
public static readonly Character.UnicodeBlock SYRIAC;
public static readonly Character.UnicodeBlock TAMIL;
public static readonly Character.UnicodeBlock TELUGU;
public static readonly Character.UnicodeBlock THAANA;
public static readonly Character.UnicodeBlock THAI;
public static readonly Character.UnicodeBlock TIBETAN;
public static readonly Character.UnicodeBlock
UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
public static readonly Character.UnicodeBlock YI_RADICALS;
public static readonly Character.UnicodeBlock YI_SYLLABLES;
}
}


1 comment
Comment actions Permalink

Found it:

http://www.intellij.net/tracker/resharper/viewSCR?publicId=17856


Here's the stack trace:

JetBrains.ReSharper.Util.InternalErrorException: An exception has
occurred ---> System.ArgumentException: Unicode surrogate characters
must be written out as pairs together in the same call, not
individually. Consider passing in a character array instead.
at System.IO.BinaryWriter.Write(Char ch)
at JetBrains.ReSharper.Psi.ConstantValue.Save(BinaryWriter writer)
in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\constantValue\ConstantValue.cs:line
1413
at
JetBrains.ReSharper.Psi.Impl.Reflection2.ElementSerializationUtil.SaveConstantValue(BinaryWriter
writer, Object value) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\util\ElementSerializationUtil.cs:line
112
at
JetBrains.ReSharper.Psi.Impl.Reflection2.Constant.Save(BinaryWriter
writer) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\Constant.cs:line 70
at
JetBrains.ReSharper.Psi.Impl.Reflection2.ElementSerializationUtil.SaveUniformArray(BinaryWriter
writer, Element[] array) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\util\ElementSerializationUtil.cs:line
124
at
JetBrains.ReSharper.Psi.Impl.Reflection2.MemberOwner.Save(BinaryWriter
writer) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\MemberOwner.cs:line 144
at
JetBrains.ReSharper.Psi.Impl.Reflection2.ElementSerializationUtil.SaveElementArray(BinaryWriter
writer, Element[] array) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\util\ElementSerializationUtil.cs:line
33
at
JetBrains.ReSharper.Psi.Impl.Reflection2.AssemblyPsiFile.Save(BinaryWriter
writer) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\AssemblyPsiFile.cs:line 345
at
JetBrains.ReSharper.Psi.Impl.Reflection2.ReflectionPsiCacheManager.SaveFileInCache(IAssembly
assembly, ILibraryFile libraryFile) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\reflection2\ReflectionPsiCacheManager.cs:line
153
at
JetBrains.ReSharper.Psi.Impl.Caches2.SymbolCache.OnAssemblyAdded(IAssembly
assembly, IProject actualProject) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\caches2\symbolCache\SymbolCache.cs:line
553
at
JetBrains.ReSharper.Psi.Impl.Caches2.CompositeCache.OnAssemblyAdded(IAssembly
assembly, IProject actualProject) in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\caches2\CompositeCache.cs:line 137
at
JetBrains.ReSharper.Psi.Impl.Caches2.CacheUpdater.AddAssemblyJob.Do() in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\caches2\symbolCache\CacheUpdater.cs:line
243
at JetBrains.ReSharper.Psi.Impl.Caches2.CacheUpdateThread.Run() in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\caches2\CacheUpdateThread.cs:line 80
--- End of inner exception stack trace ---

at JetBrains.ReSharper.Util.Logger.LogExceptionEx(Exception, String,
Boolean) in c:\TEMP\tmp1389.tmp\src\Util\src\Logger.cs:line 297 column 9
at JetBrains.ReSharper.Util.Logger.LogException(Exception) in
c:\TEMP\tmp1389.tmp\src\Util\src\Logger.cs:line 309 column 5
at JetBrains.ReSharper.Psi.Impl.Caches2.CacheUpdateThread.Run() in
c:\TEMP\tmp1389.tmp\src\Psi\src\impl\caches2\CacheUpdateThread.cs:line
89 column 11
at System.Threading.ThreadHelper.ThreadStart_Context(Object)
at System.Threading.ExecutionContext.Run(ExecutionContext,
ContextCallback, Object)
at System.Threading.ThreadHelper.ThreadStart()


Matthew Mastracci wrote:

It turns out that certain unicode character constants aren't handled by
Resharper 218 very well. If you have a constant character that has a
nasty unicode value that cannot be serialized alone, it kills Resharper
with a binarywriter error that says that the character cannot be
serialized alone.

I have a bug submitted for this, but i can't find it right now.

Here's the reflector reverse engineered class that kills resharper. It's
likely the MIN/MAX_SURROGATE constants causing the problem:

[Implements(new string[] { "java.io.Serializable",
"java.lang.Comparable" })]
public sealed class Character : Object, Serializable.__Interface,
Comparable
{
// Methods
[LineNumberTable(new byte[] {
0xa3, 0x98, 0xec, 0x4c, 0xef, 0xa1, 0x67, 0xef, 0x47, 0xef,
0x48, 0x2a, 0xe5, 0x48, 0xef, 0x47,
0xef, 0x48, 0xef, 0x47, 0xef, 0x9a, 0x9d
})]
static Character();
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9e, 8, 0x63, 0x88, 0x67 })]
public Character(char value);
public static void __<clinit>();
[LineNumberTable(new byte[] { 0xa9, 0x15, 0x6b, 0x66, 0xe1, 0x3d })]
public static int charCount(int codePoint);

public virtual char charValue();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0xa0d)]
public static int codePointAt(char[] chars, int index);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x12, 0x8b, 0x73, 0x6f, 0x70, 0x7a, 0x7a, 0x63, 0x7a,
0x6d, 0x63 })]
public static int codePointAt(CharSequence sequence, int index);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa9, 0xb0, 0x7d, 0x70, 100, 120, 0x62, 100, 0x6c, 0x62 })]
public static int codePointAt(char[] chars, int index, int limit);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9c, 0xf3, 0x8b, 0x73, 0x6f, 0x70, 0x65, 0x7a, 0x79, 0x63,
0x7a, 0x6d, 0x63 })]
public static int codePointBefore(CharSequence sequence, int index);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0xa3c)]
public static int codePointBefore(char[] chars, int index);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa9, 0xe0, 0x6f, 0x6f, 0x70, 0x65, 100, 120, 0x62, 100, 0x6c,
0x62 })]
public static int codePointBefore(char[] chars, int index, int
start);

public virtual int compareTo(Character anotherCharacter);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x918)]
public virtual int compareTo(object o);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x90, 0x83, 0x6f, 0x62, 0x67, 0x69, 0x25, 0xe7, 70, 0x6d,
0x8f })]
public static int digit(char ch, int radix);

public override bool equals(object o);
[LineNumberTable(new byte[] { 0xa8, 0x53, 0x6f, 110, 0x62 })]
public static char forDigit(int digit, int radix);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x8ea)]
public static byte getDirectionality(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x827)]
public static int getNumericValue(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x8b1)]
public static int getType(char ch);

public override int hashCode();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x6b0)]
public static bool isDefined(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x69c)]
public static bool isDigit(char ch);

public static bool isHighSurrogate(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xa5, 0x83, 0x7b, 0x70, 0x10 })]
public static bool isIdentifierIgnorable(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x887)]
public static bool isISOControl(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xbd, 0x83, 0x67, 0x66, 0x25, 0xe7, 0x4d, 0xf7, 0x33 })]
public static bool isJavaIdentifierPart(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xc5, 0x83, 0x6b, 0x25 })]
public static bool isJavaIdentifierStart(char ch);
[MethodImpl(MethodImplOptions.NoInlining), Obsolete,
LineNumberTable((ushort) 0x6fb)]
public static bool isJavaLetter(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x712), Obsolete]
public static bool isJavaLetterOrDigit(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xdd, 0xa3, 0x6b, 0x22 })]
public static bool isLetter(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xd6, 0x43, 0x6b, 0x25 })]
public static bool isLetterOrDigit(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x667)]
public static bool isLowerCase(char ch);

public static bool isLowSurrogate(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x8f8)]
public static bool isMirrored(char ch);
[LineNumberTable(new byte[] { 0x9d, 0x80, 0x83, 0x73, 0x2f }),
Obsolete]
public static bool isSpace(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x7b, 0xa3, 0x6b, 0x25 })]
public static bool isSpaceChar(char ch);
[LineNumberTable(new byte[] { 0xa9, 0x27, 0x6b, 0x2e })]
public static bool isSupplementaryCodePoint(int codePoint);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x9d0)]
public static bool isSurrogatePair(char ch1, char ch2);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x68b)]
public static bool isTitleCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xad, 0x43, 0x67, 0x66, 0x25, 0xe7, 0x4c, 0xf7, 0x34 })]
public static bool isUnicodeIdentifierPart(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0xb5, 0xa3, 0x6b, 0x25 })]
public static bool isUnicodeIdentifierStart(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x679)]
public static bool isUpperCase(char ch);

public static bool isValidCodePoint(int codePoint);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x74, 0x43, 0x67, 0x69, 0x25, 0xc7, 0x6a, 110, 0xef, 0x3a
})]
public static bool isWhitespace(char ch);

int IComparable.Object;)I(object);
public static implicit operator Serializable(Character);

internal static char readChar(char);

public static char reverseBytes(char val);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa8, 0xd7, 0x6c, 0x69 })]
public static char[] toChars(int codePoint);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0xa8, 0xf0, 140, 0x6a, 0x2b, 0xf0, 0x45, 0xcc, 0x68, 0x7c,
0x79, 0xc7, 0x65, 130 })]
public static int toChars(int codePoint, char[] dst, int dstIndex);
[LineNumberTable(new byte[] { 0x9d, 0x17, 0x86, 0x6d, 0x27, 0x61,
0x25 })]
public static int toCodePoint(char high, char low);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x7bb)]
public static char toLowerCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x648)]
public override string toString();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x655)]
public static string toString(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 150, 0x43, 110, 0x6d, 10, 0xa9 })]
public static char toTitleCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x7ce)]
public static char toUpperCase(char ch);
[MethodImpl(MethodImplOptions.NoInlining), LineNumberTable(new
byte[] { 0x9d, 0x45, 0xa3, 0x68, 0x67, 140, 110, 0x6f, 0xff, 13, 60 })]
public static Character valueOf(char val);

// Fields
private static readonly char[] blocks;
private static Character[] charCache;
public const byte COMBINING_SPACING_MARK = 8;
public const byte CONNECTOR_PUNCTUATION = 0x17;
public const byte CONTROL = 15;
public const byte CURRENCY_SYMBOL = 0x1a;
public const byte DASH_PUNCTUATION = 20;
private static readonly char[] data;
public const byte DECIMAL_DIGIT_NUMBER = 9;
internal static readonly char[] direction;
public const byte DIRECTIONALITY_ARABIC_NUMBER = 6;
public const byte DIRECTIONALITY_BOUNDARY_NEUTRAL = 9;
public const byte DIRECTIONALITY_COMMON_NUMBER_SEPARATOR = 7;
public const byte DIRECTIONALITY_EUROPEAN_NUMBER = 3;
public const byte DIRECTIONALITY_EUROPEAN_NUMBER_SEPARATOR = 4;
public const byte DIRECTIONALITY_EUROPEAN_NUMBER_TERMINATOR = 5;
public const byte DIRECTIONALITY_LEFT_TO_RIGHT = 0;
public const byte DIRECTIONALITY_LEFT_TO_RIGHT_EMBEDDING = 14;
public const byte DIRECTIONALITY_LEFT_TO_RIGHT_OVERRIDE = 15;
public const byte DIRECTIONALITY_NONSPACING_MARK = 8;
public const byte DIRECTIONALITY_OTHER_NEUTRALS = 13;
public const byte DIRECTIONALITY_PARAGRAPH_SEPARATOR = 10;
public const byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 0x12;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT = 1;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC = 2;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT_EMBEDDING = 0x10;
public const byte DIRECTIONALITY_RIGHT_TO_LEFT_OVERRIDE = 0x11;
public const byte DIRECTIONALITY_SEGMENT_SEPARATOR = 11;
public const byte DIRECTIONALITY_UNDEFINED = 0xff;
public const byte DIRECTIONALITY_WHITESPACE = 12;
public const byte ENCLOSING_MARK = 7;
public const byte END_PUNCTUATION = 0x16;
public const byte FINAL_QUOTE_PUNCTUATION = 30;
public const byte FORMAT = 0x10;
public const byte INITIAL_QUOTE_PUNCTUATION = 0x1d;
public const byte LETTER_NUMBER = 10;
public const byte LINE_SEPARATOR = 13;
private static readonly char[] lower;
public const byte LOWERCASE_LETTER = 2;
public const byte MATH_SYMBOL = 0x19;
public const int MAX_CODE_POINT = 0x10ffff;
public const char MAX_HIGH_SURROGATE = '\udbff';
public const char MAX_LOW_SURROGATE = '\udfff';
public const int MAX_RADIX = 0x24;
public const char MAX_SURROGATE = '\udfff';
public const char MAX_VALUE = '\uffff';
public const int MIN_CODE_POINT = 0;
public const char MIN_HIGH_SURROGATE = '\ud800';
public const char MIN_LOW_SURROGATE = '\udc00';
public const int MIN_RADIX = 2;
public const int MIN_SUPPLEMENTARY_CODE_POINT = 0x10000;
public const char MIN_SURROGATE = '\ud800';
public const char MIN_VALUE = '\0';
public const byte MODIFIER_LETTER = 4;
public const byte MODIFIER_SYMBOL = 0x1b;
public const byte NON_SPACING_MARK = 6;
private static readonly char[] numValue;
public const byte OTHER_LETTER = 5;
public const byte OTHER_NUMBER = 11;
public const byte OTHER_PUNCTUATION = 0x18;
public const byte OTHER_SYMBOL = 0x1c;
public const byte PARAGRAPH_SEPARATOR = 14;
public const byte PRIVATE_USE = 0x12;
private const long serialVersionUID = 0x348b47d96b1a2678;
public const int SIZE = 0x10;
public const byte SPACE_SEPARATOR = 12;
public const byte START_PUNCTUATION = 0x15;
public const byte SURROGATE = 0x13;
private static readonly char[] title;
public const byte TITLECASE_LETTER = 3;
public static readonly Class TYPE;
public const byte UNASSIGNED = 0;
private static readonly char[] upper;
public const byte UPPERCASE_LETTER = 1;
private readonly char value;

// Nested Types
[SourceFile("Character.java"), InnerClass(null, Modifiers.Static |
Modifiers.Public)]
public class Subset : Object
{
// Methods
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable(new byte[] { 40, 0xa8, 0x6c })]
protected internal Subset(string name);

public sealed override bool equals(object o);
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable((ushort) 0x75)]
public sealed override int hashCode();

public sealed override string toString();

// Fields
private readonly string name;
}

[InnerClass(null, Modifiers.Static | Modifiers.Public |
Modifiers.Final), SourceFile("Character.java")]
public sealed class UnicodeBlock : Character.Subset
{
// Methods
[LineNumberTable(new byte[] {
160, 0x55, 0x63, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25,
0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x4a,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a,
0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25,
0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25,
0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a,
0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x4a,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x4a, 0x6a, 0x25, 0x25, 0xe5,
0x4a, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49,
0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a,
0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25,
0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25, 0xe5,
0x49, 0x6a, 0x25, 0x25, 0xe5, 0x49, 0x6a, 0x25, 0x25,
0xe5, 0x47, 0x69, 0x68, 0x68, 0x68, 0x68,
0x68, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x69,
0xe6, 0x9f, 0xab, 0xe5, 0x9d, 0x10
})]
static UnicodeBlock();
[MethodImpl(MethodImplOptions.NoInlining),
LineNumberTable(new byte[] { 0x9f, 0x66, 0x66, 0x69, 0x67, 0x67 })]
private UnicodeBlock(char, char, string);
public static void __<clinit>();
[LineNumberTable(new byte[] {
0x9f, 0x63, 0xa3, 0x6b, 0x86, 0x62, 0x69, 0x85, 0x69,
0x69, 0x6d, 0x69, 0x6d, 0x89, 0xe3, 0x37,
0xe4, 0x4b
})]
public static Character.UnicodeBlock of(char ch);

// Fields
public static readonly Character.UnicodeBlock
ALPHABETIC_PRESENTATION_FORMS;
public static readonly Character.UnicodeBlock ARABIC;
public static readonly Character.UnicodeBlock
ARABIC_PRESENTATION_FORMS_A;
public static readonly Character.UnicodeBlock
ARABIC_PRESENTATION_FORMS_B;
public static readonly Character.UnicodeBlock ARMENIAN;
public static readonly Character.UnicodeBlock ARROWS;
public static readonly Character.UnicodeBlock BASIC_LATIN;
public static readonly Character.UnicodeBlock BENGALI;
public static readonly Character.UnicodeBlock BLOCK_ELEMENTS;
public static readonly Character.UnicodeBlock BOPOMOFO;
public static readonly Character.UnicodeBlock
BOPOMOFO_EXTENDED;
public static readonly Character.UnicodeBlock BOX_DRAWING;
public static readonly Character.UnicodeBlock BRAILLE_PATTERNS;
public static readonly Character.UnicodeBlock CHEROKEE;
public static readonly Character.UnicodeBlock
CJK_COMPATIBILITY;
public static readonly Character.UnicodeBlock
CJK_COMPATIBILITY_FORMS;
public static readonly Character.UnicodeBlock
CJK_COMPATIBILITY_IDEOGRAPHS;
public static readonly Character.UnicodeBlock
CJK_RADICALS_SUPPLEMENT;
public static readonly Character.UnicodeBlock
CJK_SYMBOLS_AND_PUNCTUATION;
public static readonly Character.UnicodeBlock
CJK_UNIFIED_IDEOGRAPHS;
public static readonly Character.UnicodeBlock
CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A;
public static readonly Character.UnicodeBlock
COMBINING_DIACRITICAL_MARKS;
public static readonly Character.UnicodeBlock
COMBINING_HALF_MARKS;
public static readonly Character.UnicodeBlock
COMBINING_MARKS_FOR_SYMBOLS;
public static readonly Character.UnicodeBlock CONTROL_PICTURES;
public static readonly Character.UnicodeBlock CURRENCY_SYMBOLS;
public static readonly Character.UnicodeBlock CYRILLIC;
public static readonly Character.UnicodeBlock DEVANAGARI;
public static readonly Character.UnicodeBlock DINGBATS;
public static readonly Character.UnicodeBlock
ENCLOSED_ALPHANUMERICS;
public static readonly Character.UnicodeBlock
ENCLOSED_CJK_LETTERS_AND_MONTHS;
private readonly char end;
public static readonly Character.UnicodeBlock ETHIOPIC;
public static readonly Character.UnicodeBlock
GENERAL_PUNCTUATION;
public static readonly Character.UnicodeBlock GEOMETRIC_SHAPES;
public static readonly Character.UnicodeBlock GEORGIAN;
public static readonly Character.UnicodeBlock GREEK;
public static readonly Character.UnicodeBlock GREEK_EXTENDED;
public static readonly Character.UnicodeBlock GUJARATI;
public static readonly Character.UnicodeBlock GURMUKHI;
public static readonly Character.UnicodeBlock
HALFWIDTH_AND_FULLWIDTH_FORMS;
public static readonly Character.UnicodeBlock
HANGUL_COMPATIBILITY_JAMO;
public static readonly Character.UnicodeBlock HANGUL_JAMO;
public static readonly Character.UnicodeBlock HANGUL_SYLLABLES;
public static readonly Character.UnicodeBlock HEBREW;
public static readonly Character.UnicodeBlock HIRAGANA;
public static readonly Character.UnicodeBlock
IDEOGRAPHIC_DESCRIPTION_CHARACTERS;
public static readonly Character.UnicodeBlock IPA_EXTENSIONS;
public static readonly Character.UnicodeBlock KANBUN;
public static readonly Character.UnicodeBlock KANGXI_RADICALS;
public static readonly Character.UnicodeBlock KANNADA;
public static readonly Character.UnicodeBlock KATAKANA;
public static readonly Character.UnicodeBlock KHMER;
public static readonly Character.UnicodeBlock LAO;
public static readonly Character.UnicodeBlock
LATIN_1_SUPPLEMENT;
public static readonly Character.UnicodeBlock LATIN_EXTENDED_A;
public static readonly Character.UnicodeBlock
LATIN_EXTENDED_ADDITIONAL;
public static readonly Character.UnicodeBlock LATIN_EXTENDED_B;
public static readonly Character.UnicodeBlock
LETTERLIKE_SYMBOLS;
public static readonly Character.UnicodeBlock MALAYALAM;
public static readonly Character.UnicodeBlock
MATHEMATICAL_OPERATORS;
public static readonly Character.UnicodeBlock
MISCELLANEOUS_SYMBOLS;
public static readonly Character.UnicodeBlock
MISCELLANEOUS_TECHNICAL;
public static readonly Character.UnicodeBlock MONGOLIAN;
public static readonly Character.UnicodeBlock MYANMAR;
public static readonly Character.UnicodeBlock NUMBER_FORMS;
public static readonly Character.UnicodeBlock OGHAM;
public static readonly Character.UnicodeBlock
OPTICAL_CHARACTER_RECOGNITION;
public static readonly Character.UnicodeBlock ORIYA;
public static readonly Character.UnicodeBlock PRIVATE_USE_AREA;
public static readonly Character.UnicodeBlock RUNIC;
private static readonly Character.UnicodeBlock[] sets;
public static readonly Character.UnicodeBlock SINHALA;
public static readonly Character.UnicodeBlock
SMALL_FORM_VARIANTS;
public static readonly Character.UnicodeBlock
SPACING_MODIFIER_LETTERS;
public static readonly Character.UnicodeBlock SPECIALS;
private readonly char start;
public static readonly Character.UnicodeBlock
SUPERSCRIPTS_AND_SUBSCRIPTS;
public static readonly Character.UnicodeBlock SURROGATES_AREA;
public static readonly Character.UnicodeBlock SYRIAC;
public static readonly Character.UnicodeBlock TAMIL;
public static readonly Character.UnicodeBlock TELUGU;
public static readonly Character.UnicodeBlock THAANA;
public static readonly Character.UnicodeBlock THAI;
public static readonly Character.UnicodeBlock TIBETAN;
public static readonly Character.UnicodeBlock
UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS;
public static readonly Character.UnicodeBlock YI_RADICALS;
public static readonly Character.UnicodeBlock YI_SYLLABLES;
}
}

0

Please sign in to leave a comment.