dotty.tools.dotc.transform.PickleQuotes
See thePickleQuotes companion object Translates quoted terms and types to unpickleExprV2
or unpickleType
method calls.
Transforms top level quote
'{ ...
@TypeSplice type X0 = {{ 0 | .. | contentsTpe0 | .. }}
@TypeSplice type X2 = {{ 1 | .. | contentsTpe1 | .. }}
val x1: U1 = ???
val x2: U2 = ???
...
{{{ 3 | x1 | contents0 | T0
}}}
// hole
...
{{{
4 | x2 | contents1 | T1
}}}
// hole
...
{{{
5 | x1, x2 | contents2 | T2
}}}
// hole
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
5 | x1, x2 | contents2 | T2
}}}
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
4 | x2 | contents1 | T1
}}}
...
{{{
5 | x1, x2 | contents2 | T2
}}}
// hole
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
5 | x1, x2 | contents2 | T2
}}}
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
{{{ 3 | x1 | contents0 | T0
}}}
...
{{{
4 | x2 | contents1 | T1
}}}
// hole
...
{{{
5 | x1, x2 | contents2 | T2
}}}
// hole
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
5 | x1, x2 | contents2 | T2
}}}
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
4 | x2 | contents1 | T1
}}}
...
{{{
5 | x1, x2 | contents2 | T2
}}}
// hole
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
5 | x1, x2 | contents2 | T2
}}}
...
}
to
unpickleExprV2(
pickled = [[ // PICKLED TASTY
Attributes Companion: object Graph Reset zoom Hide graph Show graph
Supertypes Members list Concise view
Type members
Attributes Inherited from: MacroTransform Graph Reset zoom Hide graph Show graph
Supertypes Known subtypes Value members
If set, implicit search is enabled
If set, implicit search is enabled
Attributes Definition Classes
Check what the phase achieves, to be called at any point after it is finished.
Check what the phase achieves, to be called at any point after it is finished.
Attributes Definition Classes
Attributes Definition Classes
A name given to the Phase
that can be used to debug the compiler. For
instance, it is possible to print trees after a given phase using:
A name given to the Phase
that can be used to debug the compiler. For
instance, it is possible to print trees after a given phase using:
$ ./bin/scalac -Xprint:<phaseNameHere> sourceFile.scala
Attributes Definition Classes
Attributes Definition Classes
Attributes Inherited from: Phase
Can this transform change the base types of a type?
Can this transform change the base types of a type?
Attributes Inherited from: Phase
Can this transform create or delete non-private members?
Can this transform create or delete non-private members?
Attributes Inherited from: Phase
Can this transform change the parents of a class?
Can this transform change the parents of a class?
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
The sequence position of this phase in the given context where 0
is reserved for NoPhase and the first real phase is at position 1.
-1 if the phase is not installed in the context.
The sequence position of this phase in the given context where 0
is reserved for NoPhase and the first real phase is at position 1.
-1 if the phase is not installed in the context.
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Output should be checkable by TreeChecker
Output should be checkable by TreeChecker
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Is this phase the standard typerphase? True for TyperPhase, but
not for other first phases (such as FromTasty or Parser). The predicate
is tested in some places that perform checks and corrections. It's
different from ctx.isAfterTyper (and cheaper to test).
Is this phase the standard typerphase? True for TyperPhase, but
not for other first phases (such as FromTasty or Parser). The predicate
is tested in some places that perform checks and corrections. It's
different from ctx.isAfterTyper (and cheaper to test).
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
If set, allow missing or superfluous arguments in applications
and type applications.
If set, allow missing or superfluous arguments in applications
and type applications.
Attributes Inherited from: Phase
Attributes Inherited from: Phase
List of names of phases that should precede this phase
List of names of phases that should precede this phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Convert a compilation unit's tree to a string; can be overridden
Convert a compilation unit's tree to a string; can be overridden
Attributes Inherited from: Phase
Attributes Inherited from: Phase
Returns a string representation of the object.
Returns a string representation of the object.
The default representation is platform dependent.
Attributes Returns: a string representation of the object.
Definition Classes Inherited from: Phase