Enhanced C#
Language of your choice: library documentation
|
Classes related to Enhanced C# (mostly found in Loyc.Ecs.dll). More...
Namespaces | |
namespace | Parser |
Enhanced C# parser | |
namespace | Tests |
Unit tests for the Enhanced C# lexer, parser and printer. | |
Classes | |
class | EcsCodeSymbols |
A list of symbols that are very specific to C# or Enhanced C#. Note: many symbols Loyc.Syntax.CodeSymbols should be in this class instead, but this class was created very belatedly. More... | |
class | EcsLanguageService |
The Value property provides easy access to the lexer, parser and printer for Enhanced C#. More... | |
class | EcsNodePrinter |
Encapsulates the code for printing an LNode to EC# source code. More... | |
class | EcsPrecedence |
Contains Precedence objects that represent the precedence rules of EC#. More... | |
class | EcsPrinterOptions |
Options to control the way EcsNodePrinter's output is formatted. More... | |
class | EcsValidators |
A class filled with methods for checking whether a node has the correct LNode.Name and structure. For example, IsPropertyDefinition(node) checks whether node meets the requirements for being a property definition, such as having a Name equal to #property, and having name and return value that are complex identifiers. More... | |
Enumerations | |
enum | ICI { Default = 0, AllowAttrs = 2, DisallowDotted = 8, DisallowColonColon = 16, InOf = 32, AllowAnyExprInOf = 64, NameDefinition = 128, AllowParensAround = 256 } |
Flags for EcsNodePrinter.IsComplexIdentifier. More... | |
enum | SpaceOpt { Default, Minimal = 0x00000001, AfterComma = 0x00000002, AfterCommaInOf = 0x00000004, AfterCast = 0x00000008, AfterCastArrow = 0x00000010, AfterAttribute = 0x00000020, InsideParens = 0x00000080, InsideCallParens = 0x00000100, InsideAttribute = 0x00000200, OutsideParens = 0x00000400, BeforeKeywordStmtArgs = 0x00000800, BeforePossibleMacroArgs = 0x00001000, BeforeMethodCall = 0x00002000, BeforeNewCastCall = 0x00004000, BeforeNewInitBrace = 0x00008000, AfterColon = 0x00010000, InsideNewInitializer = 0x00020000, BeforeBaseListColon = 0x00040000, BeforeWhereClauseColon = 0x00080000, BeforeConstructorColon = 0x00100000, BeforeMethodDeclArgList = 0x00200000, BeforeForwardArrow = 0x00400000, AfterOperatorKeyword = 0x00800000, MissingAfterComma = 0x01000000, BeforeCommentOnSameLine = 0x04000000, BetweenCommentAndNode = 0x08000000, SuppressAroundDotDot = 0x10000000 } |
Controls the locations where spaces appear as EcsNodePrinter is printing. More... | |
enum | NewlineOpt { NewlineOpt.Default, Minimal = 0x000001, BeforeSpaceDefBrace = 0x000002, BeforeMethodBrace = 0x000004, BeforePropBrace = 0x000008, BeforeGetSetBrace = 0x000010, BeforeSimpleStmtBrace = 0x000020, BeforeExecutableBrace = 0x000010, BeforeSingleSubstmt = 0x000040, BeforeOpenBraceInExpr = 0x000100, BeforeCloseBraceInExpr = 0x000200, AfterCloseBraceInExpr = 0x000400, BeforeOpenBraceInNewExpr = 0x000800, AfterOpenBraceInNewExpr = 0x001000, BeforeCloseBraceInNewExpr = 0x002000, AfterCloseBraceInNewExpr = 0x004000, AfterEachInitializer = 0x008000, AfterAttributes = 0x010000, BeforeWhereClauses = 0x020000, BeforeEachWhereClause = 0x040000, BeforeIfClause = 0x080000, BeforeConstructorColon = 0x100000, BeforeEachEnumItem = 0x200000 } |
Flags to control situations in which newlines should be added automatically by the EC# printer. More... | |
Classes related to Enhanced C# (mostly found in Loyc.Ecs.dll).
|
strong |
Flags for EcsNodePrinter.IsComplexIdentifier.
|
strong |
Flags to control situations in which newlines should be added automatically by the EC# printer.
|
strong |
Controls the locations where spaces appear as EcsNodePrinter is printing.
Note: Spaces around prefix and infix operators are controlled by EcsPrinterOptions.SpaceAroundInfixStopPrecedence and EcsPrinterOptions.SpaceAfterPrefixStopPrecedence.