Deprecate @JSExportDescendentClasses
and @JSExportDescendentObjects
.
Deprecate @JSExportDescendentClasses
and @JSExportDescendentObjects
.
We do this only on the annotated symbol (not in descendants), which is
why this test is a bit separate from everything else.
Ideally we would simply @deprecate
the annotations, but that would not
allow us to suppress the deprecations.
Checks that a setter has the right signature.
Checks that a setter has the right signature.
Reports error messages otherwise.
retrieves the names a sym should be exported to from its annotations
retrieves the names a sym should be exported to from its annotations
Note that for accessor symbols, the annotations of the accessed symbol are used, rather than the annotations of the accessor itself.
Generate the exporter for the given DefDef or ValDef (abstract val in class, val in trait or lazy val; these don't get DefDefs until the fields phase)
Generate the exporter for the given DefDef or ValDef (abstract val in class, val in trait or lazy val; these don't get DefDefs until the fields phase)
If this DefDef is a constructor, it is registered to be exported by GenJSCode instead and no trees are returned.
Tests whether the symbol has private
in any form, either private
,
private[this]
or private[Enclosing]
.
Checks and registers class exports on the symbol.
Checks and registers class exports on the symbol.
Checks and registers module exports on the symbol
Checks and registers module exports on the symbol
Prepares classes extending js.Any for JavaScript interop
This phase does: - Sanity checks for js.Any hierarchy - Annotate subclasses of js.Any to be treated specially - Rewrite calls to scala.Enumeration.Value (include name string) - Create JSExport methods: Dummy methods that are propagated through the whole compiler chain to mark exports. This allows exports to have the same semantics than methods.