+2010-06-24 Marek Safar <marek.safar@gmail.com>
+
+ * statement.cs, report.cs: Rethrow internal error when reporting is
+ disabled.
+
+ * ecore.cs: Check for identical name only when simple name is set.
+ Fixes #616667
+
2010-06-24 Marek Safar <marek.safar@gmail.com>
A fix for bug #616809
return e;
} catch (Exception ex) {
- if (loc.IsNull || Report.DebugFlags > 0 || ex is CompletionResult)
+ if (loc.IsNull || Report.DebugFlags > 0 || ex is CompletionResult || ec.Report.IsDisabled)
throw;
ec.Report.Error (584, loc, "Internal compiler error: {0}", ex.Message);
if (best_candidate.Kind == MemberKind.Method) {
if (InstanceExpression != null) {
- if (best_candidate.IsStatic) {
+ if (best_candidate.IsStatic && simple_name != null) {
InstanceExpression = ProbeIdenticalTypeName (ec, InstanceExpression, simple_name);
}
get { return printer.ErrorsCount; }
}
+ public bool IsDisabled {
+ get {
+ return reporting_disabled > 0;
+ }
+ }
+
public ReportPrinter Printer {
get { return printer; }
}
unreachable = top_level.End ();
}
} catch (Exception e) {
- if (e is CompletionResult)
+ if (e is CompletionResult || rc.Report.IsDisabled)
throw;
if (rc.CurrentBlock != null) {