Table of Contents 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Notes DownloadECMA-334 C# Language Specification 9 Lexical structure 9.5 Pre-processing directives 9.5.7 Line directives
Paragraph 11 Line directives may be used to alter the line numbers and source file names that are reported by the compiler in output such as warnings and errors. [Note: Line directives are most commonly used in meta-programming tools that generate C# source code from some other text input. end note] pp-line :: whitespaceopt # whitespaceopt line whitespace line-indicator pp-new-line line-indicator :: decimal-digits whitespace file-name decimal-digits default file-name :: " file-name-characters " file-name-characters :: file-name-character file-name-characters file-name-character file-name-character :: Any character except " (U+0022), and new-line
Paragraph 21 When no #line directives are present, the compiler reports true line numbers and source file names in its output. 2 When processing a #line directive that includes a line-indicator that is not default, the compiler treats the line after the directive as having the given line number (and file name, if specified).
Paragraph 31 A #line default directive reverses the effect of all preceding #line directives. 2 The compiler reports true line information for subsequent lines, precisely as if no #line directives had been processed. [Note: Note that a file-name differs from a regular string literal in that escape characters are not processed; the '\' character simply designates an ordinary back-slash character within a file-name. end note]
|Jagger Software Ltd|
|Company # 4070126|
|VAT # 762 5213 42|