Lowering is an intermediate phase that executes after binding and transforms high level bound trees into simplified bound trees. These simplified bound trees are provided to the Code Generation phase and converted into MSIL and emitted into a .NET assembly. This section will enable you to add the lowering support for a new C# language feature: Switch operator (?::). This will enable you to write, compile, and correctly execute C# programs with the new operator. For details on the intended functionality of this operator, read the section, New language feature: Switch Operator (?::) at the start of this chapter. For details on the grammar and syntax definitions for this operator, read the first recipe of this chapter, Designing syntax and grammar for a new C# language feature.
Germany
Slovakia
Canada
Brazil
Singapore
Hungary
Philippines
Mexico
Thailand
Ukraine
Luxembourg
Estonia
Lithuania
Norway
Chile
United States
Great Britain
India
Spain
South Korea
Ecuador
Colombia
Taiwan
Switzerland
Indonesia
Cyprus
Denmark
Finland
Poland
Malta
Czechia
New Zealand
Austria
Turkey
France
Sweden
Italy
Egypt
Belgium
Portugal
Slovenia
Ireland
Romania
Greece
Argentina
Malaysia
South Africa
Netherlands
Bulgaria
Latvia
Australia
Japan
Russia