+ // Temporary hack for broken repl flow
+ errors = warnings = 0;
+ }
+ }
+
+ //
+ // Default message recorder, it uses two types of message groups.
+ // Common messages: messages reported in all sessions.
+ // Merged messages: union of all messages in all sessions.
+ //
+ // Used by the Lambda expressions to compile the code with various
+ // parameter values, or by attribute resolver
+ //
+ class SessionReportPrinter : ReportPrinter
+ {
+ List<AbstractMessage> session_messages;
+ //
+ // A collection of exactly same messages reported in all sessions
+ //
+ List<AbstractMessage> common_messages;
+
+ //
+ // A collection of unique messages reported in all sessions
+ //
+ List<AbstractMessage> merged_messages;
+
+ public override void Print (AbstractMessage msg)
+ {
+ //
+ // This line is useful when debugging recorded messages
+ //
+ // Console.WriteLine ("RECORDING: {0}", msg.ToString ());
+
+ if (session_messages == null)
+ session_messages = new List<AbstractMessage> ();
+
+ session_messages.Add (msg);
+
+ base.Print (msg);