Enhanced C#
Loyc library documentation
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Public static fields | Properties | List of all members
Loyc.Ecs.EcsFacts Class Reference

A collection of miscellaneous information about the Enhanced C# language. More...


Source file:

Remarks

A collection of miscellaneous information about the Enhanced C# language.

See also
EcsPrecedence, EcsCodeSymbols, EcsValidators

Public static fields

static IReadOnlyCollection
< Symbol
SpaceDefinitionStatements => SpaceDefinitionStmts
 Returns a list of the Names of all space definition statements, namely: #struct #class #interface #namespace #enum #trait #alias. More...
 
static IReadOnlyCollection
< Symbol
OtherDefinitionStatements => OtherDefinitionStmts
 Returns a list of the Names of non-space definition statements that can be found outside method definitions, namely: #var #fn #cons (constructor) #delegate #event #property. More...
 
static IReadOnlyDictionary
< Symbol, Precedence
PrefixOperatorPrecedenceTable => PrefixOperators
 Returns a table of prefix operator symbols. It maps the unary prefix operators of EC# to their Precedence. More...
 
static IReadOnlyDictionary
< Symbol, Precedence
InfixOperatorPrecedenceTable => InfixOperators
 Returns a table of infix operator symbols. It maps the binary infix operators of EC# to their Precedence. More...
 
static IReadOnlyCollection
< Symbol
ListOperators => _listOperators
 Returns a list of the three list operators, 'tuple, `'{}(braced block), and#arrayInit` (which is only valid as an initializer for an array variable). More...
 

Properties

static IReadOnlyDictionary
< Symbol, Precedence
OtherOperators [get]
 Returns a list of "other" operators, i.e. operators that are not prefix, suffix, binary or list operators. This includes the cast operators 'cast, 'as and 'using, the generic parameter operator 'of, the ternary operator `'?(as in c?a:b), the index brackets'[]` and its nullable variant, the post-increment and post-decrement operators 'suf++ and 'suf--, the 'new operator, and the call operators 'typeof, 'checked, 'unchecked, 'default, and 'sizeof. More...
 

Member Data Documentation

IReadOnlyDictionary<Symbol, Precedence> Loyc.Ecs.EcsFacts.InfixOperatorPrecedenceTable => InfixOperators
static

Returns a table of infix operator symbols. It maps the binary infix operators of EC# to their Precedence.

This does not include the conditional operator ? or non-infix binary operators such as a[i]. Nor does it include the C# 9 pattern operators 'and, 'or, 'not. Comma is not an operator at all in C#.

The list does include the lambda operator, as well as 'switch, 'with, 'when, 'where; the pattern operators 'and and 'or

IReadOnlyCollection<Symbol> Loyc.Ecs.EcsFacts.ListOperators => _listOperators
static

Returns a list of the three list operators, 'tuple, `'{}(braced block), and#arrayInit` (which is only valid as an initializer for an array variable).

IReadOnlyCollection<Symbol> Loyc.Ecs.EcsFacts.OtherDefinitionStatements => OtherDefinitionStmts
static

Returns a list of the Names of non-space definition statements that can be found outside method definitions, namely: #var #fn #cons (constructor) #delegate #event #property.

IReadOnlyDictionary<Symbol, Precedence> Loyc.Ecs.EcsFacts.PrefixOperatorPrecedenceTable => PrefixOperators
static

Returns a table of prefix operator symbols. It maps the unary prefix operators of EC# to their Precedence.

Does not include the binary prefix operator 'cast or the unary suffix operators ++ and –.

The dot `'.can be a prefix operator in EC# and is included. The'not` operator, which can only appear in patterns, is also included.

IReadOnlyCollection<Symbol> Loyc.Ecs.EcsFacts.SpaceDefinitionStatements => SpaceDefinitionStmts
static

Returns a list of the Names of all space definition statements, namely: #struct #class #interface #namespace #enum #trait #alias.

Property Documentation

IReadOnlyDictionary<Symbol, Precedence> Loyc.Ecs.EcsFacts.OtherOperators
staticget

Returns a list of "other" operators, i.e. operators that are not prefix, suffix, binary or list operators. This includes the cast operators 'cast, 'as and 'using, the generic parameter operator 'of, the ternary operator `'?(as in c?a:b), the index brackets'[]` and its nullable variant, the post-increment and post-decrement operators 'suf++ and 'suf--, the 'new operator, and the call operators 'typeof, 'checked, 'unchecked, 'default, and 'sizeof.