Static methods that help to print literals, such as EscapeCStyle which escapes special characters with backslashes.
Exemplo n.º 1
0
 /// <inheritdoc cref="ILiteralParser.TryParse(UString, Symbol)"/>
 public Either <object, ILogMessage> TryParse(UString textValue, Symbol typeMarker)
 {
     typeMarker = typeMarker ?? GSymbol.Empty;
     if (Parsers.TryGetValue(typeMarker, out var parser))
     {
         try {
             return(parser(textValue, typeMarker).MapRight(m => (ILogMessage)m));
         } catch (Exception e) {
             return(new Either <object, ILogMessage>((ILogMessage) new LogMessage(Severity.Error, textValue, e.Description())));
         }
     }
     return(new Either <object, ILogMessage>((ILogMessage) new LogMessage(Severity.Note, textValue, "No parser is registered for type marker '{0}'".Localized(PrintHelpers.EscapeCStyle(typeMarker.Name)))));
 }