@@ -77,32 +77,82 @@ Given cs (typeof operator):
77
77
typeof(Dictionary<string,List<Image>>)
78
78
79
79
Execute:
80
- AssertEqual 'csTypeOf ', SyntaxAt(1, 1 )
81
- AssertEqual 'csParens', SyntaxAt(1, 7 )
82
- AssertEqual 'csTypeOfOperand', SyntaxAt(1, 8 )
83
- AssertEqual 'csParens', SyntaxAt(1, 38 )
80
+ AssertEqual 'csKeywordOperator ', SyntaxOf('typeof' )
81
+ AssertEqual 'csParens', SyntaxOf('(' )
82
+ AssertEqual 'csTypeOfOperand', SyntaxOf('(\zs' )
83
+ AssertEqual 'csParens', SyntaxOf(')' )
84
84
85
85
Given cs (typeof operator with space before open paren):
86
86
typeof (Dictionary<string,List<Image>>)
87
87
88
88
Execute:
89
- AssertEqual 'csTypeOf ', SyntaxAt(1, 1 )
90
- AssertEqual 'csParens', SyntaxAt(1, 8 )
91
- AssertEqual 'csTypeOfOperand', SyntaxAt(1, 9 )
92
- AssertEqual 'csParens', SyntaxAt(1, 39 )
89
+ AssertEqual 'csKeywordOperator ', SyntaxOf('typeof' )
90
+ AssertEqual 'csParens', SyntaxOf('(' )
91
+ AssertEqual 'csTypeOfOperand', SyntaxOf('(\zs' )
92
+ AssertEqual 'csParens', SyntaxOf(')' )
93
93
94
94
Given cs (typeof operator with missing operand parens):
95
95
typeof Dictionary<string,List<Image>>
96
96
97
97
Execute:
98
- AssertEqual 'csTypeOf', SyntaxAt(1, 1)
99
- AssertEqual 'csTypeOfError', SyntaxAt(1, 8)
98
+ AssertEqual 'csKeywordOperator', SyntaxOf('typeof')
99
+ AssertEqual 'csMissingParenError', SyntaxAt(1, 8)
100
+
101
+ Given cs (sizeof operator):
102
+ sizeof(byte)
103
+
104
+ Execute:
105
+ AssertEqual 'csKeywordOperator', SyntaxOf('sizeof')
106
+ AssertEqual 'csParens', SyntaxOf('(')
107
+ AssertEqual 'csType', SyntaxOf('(\zs')
108
+ AssertEqual 'csParens', SyntaxOf(')')
109
+
110
+ Given cs (sizeof operator with space before open paren):
111
+ sizeof (byte)
112
+
113
+ Execute:
114
+ AssertEqual 'csKeywordOperator', SyntaxOf('sizeof')
115
+ AssertEqual 'csParens', SyntaxOf('(')
116
+ AssertEqual 'csType', SyntaxOf('(\zs')
117
+ AssertEqual 'csParens', SyntaxOf(')')
118
+
119
+ Given cs (sizeof operator with missing operand parens):
120
+ sizeof byte
121
+
122
+ Execute:
123
+ AssertEqual 'csKeywordOperator', SyntaxOf('sizeof')
124
+ AssertEqual 'csMissingParenError', SyntaxOf('b\zeyte')
125
+
126
+ Given cs (nameof operator):
127
+ nameof(foobar)
128
+
129
+ Execute:
130
+ AssertEqual 'csKeywordOperator', SyntaxOf('nameof')
131
+ AssertEqual 'csParens', SyntaxOf('(')
132
+ AssertEqual 'csNameOfOperand', SyntaxOf('(\zs')
133
+ AssertEqual 'csParens', SyntaxOf(')')
134
+
135
+ Given cs (nameof operator with space before open paren):
136
+ nameof (foobar)
137
+
138
+ Execute:
139
+ AssertEqual 'csKeywordOperator', SyntaxOf('nameof')
140
+ AssertEqual 'csParens', SyntaxOf('(')
141
+ AssertEqual 'csNameOfOperand', SyntaxOf('(\zs')
142
+ AssertEqual 'csParens', SyntaxOf(')')
143
+
144
+ Given cs (nameof operator with missing operand parens):
145
+ nameof foobar
146
+
147
+ Execute:
148
+ AssertEqual 'csKeywordOperator', SyntaxOf('nameof')
149
+ AssertEqual 'csMissingParenError', SyntaxOf('f\zeoobar')
100
150
101
151
Given cs (await operator):
102
152
await foobar();
103
153
104
154
Execute:
105
- AssertEqual 'csAsyncOperator', SyntaxAt(1, 1 )
155
+ AssertEqual 'csAsyncOperator', SyntaxOf('await' )
106
156
107
157
Given cs (checked operator):
108
158
var foobar = checked(42 + 1);
@@ -116,3 +166,29 @@ Given cs (unchecked operator):
116
166
Execute:
117
167
AssertEqual 'csKeywordOperator', SyntaxOf('unchecked')
118
168
169
+ Given cs (stackalloc operator):
170
+ Span<byte> foobar = stackalloc byte[42];
171
+
172
+ Execute:
173
+ AssertEqual 'csKeywordOperator', SyntaxOf('stackalloc')
174
+
175
+ Given cs (switch operator):
176
+ var foo = bar switch { _ => 42 };
177
+
178
+ Execute:
179
+ AssertEqual 'csKeywordOperator', SyntaxOf('switch')
180
+
181
+ Given cs (delegate operator):
182
+ Func<byte> foobar = delegate (byte a) { return 42; };
183
+ Action foobar = delegate { FortyTwo(); };
184
+
185
+ Execute:
186
+ AssertEqual 'csKeywordOperator', SyntaxOf('delegate', 1)
187
+ AssertEqual 'csKeywordOperator', SyntaxOf('delegate', 2)
188
+
189
+ Given cs (with operator):
190
+ var foo = bar with { Baz = 42 };
191
+
192
+ Execute:
193
+ AssertEqual 'csKeywordOperator', SyntaxOf('with')
194
+
0 commit comments