|
Enhanced C#
Language of your choice: library documentation
|
Properties | |
| StringBuilder | SB [get, set] |
| IMessageSink?? | MessageSink [get, set] |
| Target for warning messages. More... | |
| Les3PrinterOptions | Options [get] |
Public Member Functions | |
| void | SetOptions (ILNodePrinterOptions options) |
| StringBuilder | Print (ILNode node, string suffix=null) |
| override string | ToString () |
| void | VisitId (ILNode node) |
| void | PrintIdCore (UString name, bool startToken, bool forceQuote=false) |
| void | VisitLiteral (ILNode node) |
| void | VisitCall (ILNode node) |
Static Public Member Functions | |
| static bool | IsNormalIdentifier (UString name) |
| static bool | IsComboOpPrefixChar (char c) |
| static bool | CanPrintAsNumber (UString textValue, Symbol typeMarker) |
Protected Types | |
| enum | Chars { Delimiter = 0, IdStart = 1, SingleQuote = 2, Id = IdStart | SingleQuote, Punc = 4, Dot = 16, NumberStart = IdStart | Dot, NumberEnd = Id | Dot, DoubleQuote = 32, BQId = 64, StringStart = DoubleQuote | Id | BQId, At = 128, Space = 256, SLComment = 512 } |
| Based on these flags, StartToken() and WriteToken() ensure that two adjacent tokens aren't treated like a single token when reparsed, by printing a space between them if necessary. More... | |
| enum | NewlineContext { NewlineUnsafe = 0, NewlineSafeAfter = 1, NewlineSafeBefore = 2, NewlineSensitive = 4, StatementLevel = NewlineSafeBefore | NewlineSafeAfter | NewlineSensitive, AutoDetect = 8 } |
| Used to help keep track of where newline trivia (and single- line comments ending in a newline) are permitted, to avoid printing newline trivia where it would count as "end of expression". More... | |
Protected Member Functions | |
| void | Print (ILNode node, Precedence context, string suffix=null, NewlineContext nlContext=NewlineContext.AutoDetect) |
| void | PrintCore (ILNode node, string suffix, bool avoidKwExprBraceAmbiguity=false) |
| void | StartToken (LesColorCode kind, Chars charSet) |
| void | StartToken (LesColorCode kind, Chars startSet, Chars endSet) |
| void | WriteToken (char firstChar, LesColorCode kind, Chars tokenSet) |
| void | WriteToken (string text, LesColorCode kind, Chars tokenSet) |
| void | WriteToken (string text, LesColorCode kind, Chars startSet, Chars endSet) |
| virtual void | StartToken (LesColorCode kind) |
| void | WriteOutsideToken (char space) |
| void | Newline (bool avoidExtraNewline=false) |
| void | Space (bool condition=true) |
| virtual LesColorCode | ColorCodeForId (UString name) |
Protected fields | |
| PrinterState | PS |
| ILNode | _n |
| Precedence | _context = Precedence.MinValue |
| NewlineContext | _nlContext = NewlineContext.NewlineUnsafe |
| bool | _inParensOrBracks = false |
| Chars | _curSet = 0 |
|
strongprotected |
Based on these flags, StartToken() and WriteToken() ensure that two adjacent tokens aren't treated like a single token when reparsed, by printing a space between them if necessary.
|
strongprotected |
Used to help keep track of where newline trivia (and single- line comments ending in a newline) are permitted, to avoid printing newline trivia where it would count as "end of expression".
|
getset |
Target for warning messages.
1.8.17