Enhanced C#
Language of your choice: library documentation

Documentation moved to ecsharp.net

GitHub doesn't support HTTP redirects, so you'll be redirected in 3 seconds.

 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Namespaces | Classes | Enumerations
Package Loyc.Ecs

Namespaces

package  Parser
 Enhanced C# parser
 

Classes

class  EcsLanguageService
 The Value property provides easy access to the lexer, parser and printer for Enhanced C#. More...
 
class  EcsNodePrinter
 Prints a Loyc tree to EC# source code. More...
 
class  EcsNodePrinterTests
 EC# node printer tests
 
class  EcsParserTests
 EC# parser tests
 
class  EcsPrecedence
 Contains Precedence objects that represent the precedence rules of EC#. More...
 
class  EcsPrinterAndParserTests
 
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, DisallowOf = 8,
  DisallowDotted = 16, InOf = 32, AllowAnyExprInOf = 64,
  NameDefinition = 128, AllowParensAround = 256, ExprMode = 512
}
 Flags for EcsNodePrinter.IsComplexIdentifier. More...
 
enum  SpaceOpt {
  Default, 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 {
  Default, BeforeSpaceDefBrace = 0x000001, BeforeMethodBrace = 0x000002,
  BeforePropBrace = 0x000004, BeforeGetSetBrace = 0x000008, BeforeSimpleStmtBrace = 0x000020,
  BeforeExecutableBrace = 0x000010, BeforeSingleSubstmt = 0x000080, BeforeOpenBraceInExpr = 0x000100,
  BeforeCloseBraceInExpr = 0x000200, AfterCloseBraceInExpr = 0x000400, BeforeOpenBraceInNewExpr = 0x000800,
  AfterOpenBraceInNewExpr = 0x001000, BeforeCloseBraceInNewExpr = 0x002000, AfterCloseBraceInNewExpr = 0x004000,
  AfterEachInitializerInNew = 0x008000, AfterAttributes = 0x010000, BeforeWhereClauses = 0x020000,
  BeforeEachWhereClause = 0x040000, BeforeIfClause = 0x080000, AfterEachEnumValue = 0x100000,
  BeforeConstructorColon = 0x200000
}
 

Enumeration Type Documentation

Flags for EcsNodePrinter.IsComplexIdentifier.

Controls the locations where spaces appear as EcsNodePrinter is printing.

Note: Spaces around prefix and infix operators are controlled by EcsNodePrinter.SpaceAroundInfixStopPrecedence and EcsNodePrinter.SpaceAfterPrefixStopPrecedence.