Interface ISymbolDeSer<S extends ISymbol,J>

Type Parameters:
S - The kind of the symbol to serialize
J - The language-specific Symbols2Json Class for traversing the Symbol table
All Known Implementing Classes:
SymbolWithScopeOfUnknownKindDeSer

public interface ISymbolDeSer<S extends ISymbol,J>
Interface that all symbol DeSers implement to provide uniform serialize and deserialize methods. This is required to handle DeSers in the global scopes. A DeSer class realizes the serialization strategy for a specific type T.
  • Method Summary

    Modifier and Type
    Method
    Description
    default S
    deserialize(IScope enclosingScope, JsonObject serialized)
    Deserialize a passed Json Object to an instance of the type T with the specified enclosing scope
    default S
    deserialize(IScope enclosingScope, String serialized)
    Deserialize a passed String to an instance of the type T with the specified enclosing scope
    deserialize(JsonObject serialized)
    Deserialize a passed Json Object to an instance of the type T
    default S
    deserialize(String serialized)
    Deserialize a passed String to an instance of the type T
     
    serialize(S toSerialize, J symbol2json)
    serialize a passed object to a String that is returned.
  • Method Details

    • serialize

      String serialize(S toSerialize, J symbol2json)
      serialize a passed object to a String that is returned.
      Parameters:
      toSerialize -
      symbol2json -
      Returns:
    • deserialize

      default S deserialize(IScope enclosingScope, String serialized)
      Deserialize a passed String to an instance of the type T with the specified enclosing scope
      Parameters:
      serialized -
      Returns:
    • deserialize

      default S deserialize(String serialized)
      Deserialize a passed String to an instance of the type T
      Parameters:
      serialized -
      Returns:
    • deserialize

      default S deserialize(IScope enclosingScope, JsonObject serialized)
      Deserialize a passed Json Object to an instance of the type T with the specified enclosing scope
      Parameters:
      enclosingScope -
      serialized -
      Returns:
    • deserialize

      S deserialize(JsonObject serialized)
      Deserialize a passed Json Object to an instance of the type T
      Parameters:
      serialized -
      Returns:
    • getSerializedKind

      String getSerializedKind()