PartialTASTYDecompiler

Partial TASTYDecompiler that doesn't execute the backendPhases allowing to control decompiler output by manually running it on the CompilationUnits

class Compiler
class Object
trait Matchable
class Any

Value members

Inherited methods

override def newRun(using Context): Run
Definition Classes
Inherited from:
TASTYCompiler
Inherited from:
Compiler

Meta-ordering constraint:

Meta-ordering constraint:

DenotTransformers that change the signature of their denotation's info must go after erasure. The reason is that denotations are permanently referred to by TermRefs which contain a signature. If the signature of a symbol would change, all refs to it would become outdated - they could not be dereferenced in the new phase.

After erasure, signature changing denot-transformers are OK because erasure will make sure that only term refs with fixed SymDenotations survive beyond it. This is possible because:

  • splitter has run, so every ident or select refers to a unique symbol
  • after erasure, asSeenFrom is the identity, so every reference has a plain SymDenotation, as opposed to a UniqueRefDenotation.
Inherited from:
Compiler
def reset()(using Context): Unit
Inherited from:
Compiler

Inherited fields

var runId: Int
Inherited from:
Compiler