Class TypeNameOrException

java.lang.Object
org.ek9lang.compiler.common.TypeNameOrException
All Implemented Interfaces:
Function<ISymbol,String>

public final class TypeNameOrException extends Object implements Function<ISymbol,String>
Extracts the fully qualified type name from the symbol. Or throws an Exception if the symbol is un-typed. Missing types should have been detected in earlier stages. So be carful which phase you use this with.

Optionally accepts a type resolver function for Scenario 3 parameterized type IR generation, where type parameter FQNs (e.g., "Module::Renderer::T") need to be substituted with concrete type FQNs (e.g., "org.ek9.lang::Integer").

  • Constructor Details

    • TypeNameOrException

      public TypeNameOrException()
      Create with identity resolver (no type substitution).
    • TypeNameOrException

      public TypeNameOrException(UnaryOperator<String> typeResolver)
      Create with a type resolver for Scenario 3 type parameter substitution.
      Parameters:
      typeResolver - Function that maps type FQNs, substituting type parameters with concrete types
  • Method Details