compiler/front/main

  Source   Edit

Types

UsedBuildParams = object
  cmd*: Command
  project*: string
  output*: string
  linesCompiled*: int
  mem*: int
  isMaxMem*: bool
  sec*: float
  case isCompilation*: bool
  of true:
      backend*: string
      gc*: string
      threads*: bool
      buildMode*: string
      optimize*: string

  of false:
      nil

  
  Source   Edit

Procs

proc customizeForBackend(graph: ModuleGraph; conf: ConfigRef; backend: TBackend) {....raises: [
    ValueError, OSError, IOError, KeyError, Exception, ERecoverableError,
    EOFError], tags: [ReadEnvEffect, ReadIOEffect, ReadDirEffect,
                      WriteDirEffect, RootEffect, WriteIOEffect, WriteEnvEffect].}
Sets backend specific options. This must be called by all commands. backend is the backend to choose when no backend has been selected so far.   Source   Edit
func execExternalProgramFailedMsg(cmd: string; exitCode: int): string {.
    ...raises: [ValueError], tags: [].}
  Source   Edit
proc hashMainCompilationParams(conf: ConfigRef): string {....raises: [],
    tags: [ReadIOEffect].}
doesn't have to be complete; worst case is a cache hit and recompilation.   Source   Edit
proc mainCommand(graph: ModuleGraph) {....raises: [ValueError, OSError, IOError,
    KeyError, Exception, ERecoverableError, EOFError,
    ResultErrorRef[system.void], CancelConfigProcessing, CatchableError], tags: [
    TimeEffect, ReadEnvEffect, ReadIOEffect, ReadDirEffect, WriteDirEffect,
    RootEffect, WriteIOEffect, WriteEnvEffect, ExecIOEffect].}
Execute main compiler command   Source   Edit