Pattern pat = (Pattern) o;
return "/" + pat.pattern() + "/"
+ (((pat.flags() & Pattern.CANON_EQ) > 0) ? "c" : "")
+ (((pat.flags() & Pattern.CASE_INSENSITIVE) > 0) ? "i" : "")
+ (((pat.flags() & Pattern.COMMENTS) > 0) ? "x" : "")
+ (((pat.flags() & Pattern.DOTALL) > 0) ? "s" : "")
+ (((pat.flags() & Pattern.LITERAL) > 0) ? "q" : "")
+ (((pat.flags() & Pattern.MULTILINE) > 0) ? "m" : "")
+ (((pat.flags() & Pattern.UNICODE_CASE) > 0) ? "l" : "")
+ (((pat.flags() & Pattern.UNIX_LINES) > 0) ? "u" : "")
+ "@" + System.identityHashCode( o );