projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make mkbundle use SDKs instead of a single runtime for cross compilation
[mono.git]
/
mcs
/
mcs
/
cs-tokenizer.cs
diff --git
a/mcs/mcs/cs-tokenizer.cs
b/mcs/mcs/cs-tokenizer.cs
index e07fdcaf6e6437c1a4a39bb53cfc2283bdb25918..e6a95fe8163a3590acb9f23602cc10d4cdec63dd 100644
(file)
--- a/
mcs/mcs/cs-tokenizer.cs
+++ b/
mcs/mcs/cs-tokenizer.cs
@@
-2465,6
+2465,12
@@
namespace Mono.CSharp
case '\"':
++str_quote;
break;
case '\"':
++str_quote;
break;
+ case '\\':
+ // Skip escaped " character
+ c = reader.Read ();
+ if (c == -1)
+ res = false;
+ break;
case -1:
res = false;
break;
case -1:
res = false;
break;
@@
-2523,7
+2529,6
@@
namespace Mono.CSharp
int TokenizePragmaWarningIdentifier (ref int c, ref bool identifier)
{
int TokenizePragmaWarningIdentifier (ref int c, ref bool identifier)
{
-
if ((c >= '0' && c <= '9') || is_identifier_start_character (c)) {
int number;
if ((c >= '0' && c <= '9') || is_identifier_start_character (c)) {
int number;
@@
-2548,7
+2553,7
@@
namespace Mono.CSharp
id_builder [pos] = (char)c;
if (c >= '0' && c <= '9') {
id_builder [pos] = (char)c;
if (c >= '0' && c <= '9') {
- if (pos ==
6
&& id_builder [0] == 'C' && id_builder [1] == 'S') {
+ if (pos ==
5
&& id_builder [0] == 'C' && id_builder [1] == 'S') {
// Recognize CSXXXX as C# XXXX warning
number = 0;
int pow = 1000;
// Recognize CSXXXX as C# XXXX warning
number = 0;
int pow = 1000;
@@
-2563,6
+2568,9
@@
namespace Mono.CSharp
pow /= 10;
}
}
pow /= 10;
}
}
+ } else if (c == '\n' || c == UnicodeLS || c == UnicodePS) {
+ advance_line ();
+ break;
} else if ((c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && c != '_') {
break;
}
} else if ((c < 'a' || c > 'z') && (c < 'A' || c > 'Z') && c != '_') {
break;
}
@@
-4058,6
+4066,9
@@
namespace Mono.CSharp
--braces;
break;
case '\\':
--braces;
break;
case '\\':
+ if (parsing_string_interpolation_quoted != null && parsing_string_interpolation_quoted.Peek ())
+ break;
+
++col;
int surrogate;
ch = escape (ch, out surrogate);
++col;
int surrogate;
ch = escape (ch, out surrogate);