[mono/mono] ef722ff1: When parsing documentation cref text turn on error probing for tokenizer as well. Fixes #15511

"Marek Safar ([email protected])" <[email protected]>
Newsgroups gmane.comp.gnome.mono.patches
Message-ID <000001420567e8b9-6cfabf0d-7560-45b6-9660-0e9cdb1a8251-000000@email.amazonses.com>
   Branch: refs/heads/master
     Home: https://github.com/mono/mono
  Compare: https://github.com/mono/mono/compare/93c6b94bb004...ef722ff122d2

   Commit: ef722ff122d227e862cb0b75b2c6ee31d5467b3a
   Author: Marek Safar <[email protected]> (marek-safar)
     Date: 2013-10-29 18:04:27 GMT
      URL: https://github.com/mono/mono/commit/ef722ff122d227e862cb0b75b2c6ee31d5467b3a

When parsing documentation cref text turn on error probing for tokenizer as well. Fixes #15511

Changed paths:
  M mcs/mcs/cs-tokenizer.cs
  M mcs/mcs/driver.cs
  M mcs/mcs/eval.cs
Added paths:
  A mcs/tests/test-xml-068-ref.xml
  A mcs/tests/test-xml-068.cs

Modified: mcs/mcs/cs-tokenizer.cs
===================================================================
@@ -188,6 +188,8 @@ public enum PreprocessorDirective
 		readonly SeekableStreamReader reader;
 		readonly CompilationSourceFile source_file;
 		readonly CompilerContext context;
+		readonly Report Report;
+
 
 		SourceFile current_source;
 		Location hidden_block_start;
@@ -430,7 +432,7 @@ public Position (Tokenizer t)
 			}
 		}
 
-		public Tokenizer (SeekableStreamReader input, CompilationSourceFile file, ParserSession session)
+		public Tokenizer (SeekableStreamReader input, CompilationSourceFile file, ParserSession session, Report report)
 		{
 			this.source_file = file;
 			this.context = file.Compiler;
@@ -439,6 +441,7 @@ public Tokenizer (SeekableStreamReader input, CompilationSourceFile file, Parser
 			this.id_builder = session.IDBuilder;
 			this.number_builder = session.NumberBuilder;
 			this.ltb = new LocatedTokenBuffer (session.LocatedTokens);
+			this.Report = report;
 
 			reader = input;
 
@@ -3730,10 +3733,6 @@ public string consume_doc_comment ()
 			return null;
 		}
 
-		Report Report {
-			get { return context.Report; }
-		}
-
 		void reset_doc_comment ()
 		{
 			xml_comment_buffer.Length = 0;

Modified: mcs/mcs/driver.cs
===================================================================
@@ -57,7 +57,7 @@ void tokenize_file (SourceFile sourceFile, ModuleContainer module, ParserSession
 				SeekableStreamReader reader = new SeekableStreamReader (input, ctx.Settings.Encoding);
 				var file = new CompilationSourceFile (module, sourceFile);
 
-				Tokenizer lexer = new Tokenizer (reader, file, session);
+				Tokenizer lexer = new Tokenizer (reader, file, session, ctx.Report);
 				int token, tokens = 0, errors = 0;
 
 				while ((token = lexer.token ()) != Token.EOF){

Modified: mcs/mcs/eval.cs
===================================================================
@@ -459,7 +459,7 @@ enum InputKind {
 		//
 		InputKind ToplevelOrStatement (SeekableStreamReader seekable)
 		{
-			Tokenizer tokenizer = new Tokenizer (seekable, source_file, new ParserSession ());
+			Tokenizer tokenizer = new Tokenizer (seekable, source_file, new ParserSession (), ctx.Report);
 			
 			// Prefer contextual block keywords over identifiers
 			tokenizer.parsing_block++;

Added: mcs/tests/test-xml-068-ref.xml
===================================================================
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>test-xml-068</name>
+    </assembly>
+    <members>
+        <member name="M:X.Test">
+            <summary>
+            Test summary
+            </summary>
+            <see cref="!:#sometext" />
+        </member>
+    </members>
+</doc>

Added: mcs/tests/test-xml-068.cs
===================================================================
@@ -0,0 +1,16 @@
+// Compiler options: -doc:xml-068.xml
+
+class X
+{
+	/// <summary>
+	/// Test summary
+	/// </summary>
+	/// <see cref="#sometext"/>
+	static void Test ()
+	{
+	}
+
+	public static void Main ()
+	{
+	}
+}
\ No newline at end of file


_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.