Hologram.Compiler.Resolver (hologram v0.1.0)

Link to this section Summary

Functions

Resolves to a fully qualified module.

Resolves to a fully qualified module.

Link to this section Functions

Link to this function

resolve(module_segs, context)

Specs

resolve(Hologram.Typespecs.module_name_segments(), %Hologram.Compiler.Context{
  aliases: term(),
  attributes: term(),
  imports: term(),
  module: term(),
  requires: term(),
  uses: term()
}) :: module()

Resolves to a fully qualified module.

Examples

iex> aliases = [%AliasDirective{module: Abc.Bcd, as: [:Bcd]}]
iex> context = %Context{aliases: aliases}
iex> resolve([:Bcd], context)
Abc.Bcd
Link to this function

resolve(module_segs, function, arity, context)

Specs

resolve(
  Hologram.Typespecs.module_name_segments(),
  Hologram.Typespecs.function_name(),
  integer(),
  %Hologram.Compiler.Context{
    aliases: term(),
    attributes: term(),
    imports: term(),
    module: term(),
    requires: term(),
    uses: term()
  }
) :: module()

Resolves to a fully qualified module.

Examples

iex> imports = [%ImportDirective{module: Enum}]
iex> context = %Context{imports: imports}
iex> resolve([], :put, 3, context)
Enum