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

Source file:
Inheritance diagram for Loyc.Ecs.Parser.EcsLiteralHandlers:
Loyc.Syntax.StandardLiteralHandlers Loyc.Syntax.LiteralHandlerTable Loyc.Syntax.ILiteralParser Loyc.Syntax.ILiteralPrinter

Public static fields

static new EcsLiteralHandlers Value => _value = _value ?? new EcsLiteralHandlers()
 
- Public static fields inherited from Loyc.Syntax.StandardLiteralHandlers
static StandardLiteralHandlers Value => _value = _value ?? new StandardLiteralHandlers()
 

Additional Inherited Members

- Public fields inherited from Loyc.Syntax.LiteralHandlerTable
IReadOnlyDictionary< Symbol,
Func< UString, Symbol, Either
< object, LogMessage > > > 
Parsers => _parsers
 A table of parsers indexed by type marker Symbol. The AddParser method is used to add an item to this collection. More...
 
IReadOnlyDictionary< object,
Func< ILNode, StringBuilder,
Either< Symbol, LogMessage > > > 
Printers => _printers
 A table of printers indexed by Type or by type marker Symbol. The AddPrinter methods are used to add an item to this collection. More...
 
- Properties inherited from Loyc.Syntax.StandardLiteralHandlers
char DigitSeparator [get, set]
 Gets or sets a character used to separate groups of digits. It must be must be _ or ' or null, and it is inserted every 3 digits in decimal numbers (e.g. 1_234_567), every 4 digits in hex numbers (e.g. 0x1234_5678), or every 8 digits in binary numbers (e.g. 11_10111000). More...
 
- Public Member Functions inherited from Loyc.Syntax.StandardLiteralHandlers
 StandardLiteralHandlers (char?digitSeparatorChar= '_')
 
- Public Member Functions inherited from Loyc.Syntax.LiteralHandlerTable
bool AddParser (bool replaceExisting, Symbol typeMarker, Func< UString, Symbol, Either< object, LogMessage >> parser)
 Adds a parser to the Parsers collection. More...
 
bool AddPrinter (bool replaceExisting, Symbol type, Func< ILNode, StringBuilder, Either< Symbol, LogMessage >> printer)
 Adds a printer to the Printers collection. More...
 
bool AddPrinter (bool replaceExisting, Type type, Func< ILNode, StringBuilder, Either< Symbol, LogMessage >> printer)
 
bool CanParse (Symbol typeMarker)
 Returns true if there is a parser function for the given type marker. Never throws. More...
 
bool CanPrint (Symbol typeMarker)
 Returns true if there is a printer function for the given type marker. Never throws. More...
 
bool CanPrint (Type type, bool searchBases=true)
 Returns true if there is a printer function for the given type. Never throws. More...
 
Either< object, ILogMessageTryParse (UString textValue, Symbol typeMarker)
 Attempts to parse a string with a given type marker.
Parameters
textValueA text value that has already been preprocessed to remove escape sequences.
typeMarkerIndicates the type of the value. There is a standard set of type markers; please see the documention of StandardLiteralHandlers. If typeMarker is null, it is treated as an empty string.
Returns
Returns either the parsed value or an error message. Does not throw.
If the problem is that the type marker doesn't have an associated parser, the returned LogMessage should not have a Severity of Error; LiteralHandlerTable uses Severity.Note for this.
 
Either< Symbol, ILogMessageTryPrint (ILNode literal, out StringBuilder sb)
 
Either< Symbol, ILogMessageTryPrint (object value, Symbol typeMarker, out StringBuilder sb, NodeStyle style=NodeStyle.Default)
 
Either< Symbol, ILogMessageTryPrint (ILNode literal, StringBuilder sb)
 Searches Printers for a printer for the value and uses it to convert the value to a string. When a printer can be found both by type marker Symbol and by Type, the printer for the matching type marker is used (takes priority). The complete search order is (1) type marker (if any), (2) exact type, (3) base classes and (4) interfaces, in that order. More...
 
- Static Protected Member Functions inherited from Loyc.Syntax.StandardLiteralHandlers
static Either< object, LogMessageOK (object?result)
 
static Either< object, LogMessageSyntaxError (UString input, Symbol typeMarker)
 
static Either< object, LogMessageGeneralNumberParser (UString s, Symbol tm)
 
static bool ParseSigned (UString s, out long n)
 
static bool ParseBigInt (UString s, out BigInteger n)
 
static bool ParseDouble (UString s, out double d)
 
- Protected fields inherited from Loyc.Syntax.StandardLiteralHandlers
int HexNegativeExponentThreshold = -8
 
- Protected static fields inherited from Loyc.Syntax.StandardLiteralHandlers
static Symbol __u = GSymbol.Get("_u")
 
static Symbol __i8 = GSymbol.Get("_i8")
 
static Symbol __u8 = GSymbol.Get("_u8")
 
static Symbol __i16 = GSymbol.Get("_i16")
 
static Symbol __u16 = GSymbol.Get("_u16")
 
static Symbol __i32 = GSymbol.Get("_i32")
 
static Symbol __u32 = GSymbol.Get("_u32")
 
static Symbol __i64 = GSymbol.Get("_i64")
 
static Symbol __u64 = GSymbol.Get("_u64")
 
static Symbol __z = GSymbol.Get("_z")
 
static Symbol __r32 = GSymbol.Get("_r32")
 
static Symbol __r64 = GSymbol.Get("_r64")
 
static Symbol __L = GSymbol.Get("_L")
 
static Symbol __uL = GSymbol.Get("_uL")
 
static Symbol __f = GSymbol.Get("_f")
 
static Symbol __d = GSymbol.Get("_d")
 
static Symbol _s = GSymbol.Get("s")
 
static Symbol _void = GSymbol.Get("void")
 
static Symbol _bool = GSymbol.Get("bool")
 
static Symbol _c = GSymbol.Get("c")
 
static Symbol _number = GSymbol.Get("_")
 
static Symbol _string = GSymbol.Empty
 
static Symbol _re = GSymbol.Get("re")
 
static Symbol _bais = GSymbol.Get("bais")