https://bugzilla.novell.com/show_bug.cgi?id=435398
User [EMAIL PROTECTED] added comment https://bugzilla.novell.com/show_bug.cgi?id=435398#c1 --- Comment #1 from Marek Safar <[EMAIL PROTECTED]> 2008-10-15 04:45:55 MDT --- Here is the real app code which I tried to mimic switch (ntoken) { case Token.CLOSE_PARENS: ntoken = xtoken (); // // Token is a lambda // if (ntoken == Token.ARROW) { if (RootContext.Version <= LanguageVersion.ISO_2) Report.FeatureIsNotAvailable (Location, "lambda expressions"); return Token.OPEN_PARENS_LAMBDA; } // // Token is possible cast, parser will decide later // if (cast_posible && !cast_not) { switch (ntoken) { // // Indirection is a special // cast: (int*)&a; // binary: (C)&a; // case Token.BITWISE_AND: case Token.OP_INC: case Token.OP_DEC: case Token.PLUS: case Token.MINUS: if (!has_star) break; return Token.OPEN_PARENS_CAST; case Token.OPEN_PARENS: case Token.BANG: case Token.TILDE: case Token.IDENTIFIER: case Token.LITERAL_INTEGER: case Token.LITERAL_FLOAT: case Token.LITERAL_DOUBLE: case Token.LITERAL_DECIMAL: case Token.LITERAL_CHARACTER: case Token.LITERAL_STRING: case Token.BASE: case Token.CHECKED: case Token.DELEGATE: case Token.FALSE: case Token.FIXED: case Token.NEW: case Token.NULL: case Token.SIZEOF: case Token.THIS: case Token.THROW: case Token.TRUE: case Token.TYPEOF: case Token.UNCHECKED: case Token.UNSAFE: case Token.DEFAULT: // // These can be part of a member access // case Token.INT: case Token.UINT: case Token.SHORT: case Token.USHORT: case Token.LONG: case Token.ULONG: case Token.DOUBLE: case Token.FLOAT: case Token.CHAR: case Token.BYTE: case Token.DECIMAL: case Token.BOOL: return Token.OPEN_PARENS_CAST; } } return Token.OPEN_PARENS; case Token.DOT: if (ptoken != Token.IDENTIFIER && ptoken != Token.OP_GENERICS_GT) goto default; continue; case Token.IDENTIFIER: switch (ptoken) { case Token.DOT: case Token.OP_GENERICS_LT: case Token.COMMA: case Token.DOUBLE_COLON: case -1: cast_posible = true; continue; default: cast_not = true; continue; } case Token.STAR: has_star = true; continue; case Token.OBJECT: case Token.STRING: case Token.BOOL: case Token.DECIMAL: case Token.FLOAT: case Token.DOUBLE: case Token.SBYTE: case Token.BYTE: case Token.SHORT: case Token.USHORT: case Token.INT: case Token.UINT: case Token.LONG: case Token.ULONG: case Token.CHAR: case Token.VOID: case Token.OP_GENERICS_GT: case Token.OP_GENERICS_LT: case Token.INTERR_NULLABLE: case Token.OPEN_BRACKET: case Token.CLOSE_BRACKET: case Token.COMMA: case Token.DOUBLE_COLON: cast_posible = true; continue; case Token.REF: case Token.OUT: cast_not = true; continue; default: return Token.OPEN_PARENS; } } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
