diff options
author | Adriaan Moors <adriaan@lightbend.com> | 2016-07-08 17:24:23 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan@lightbend.com> | 2016-08-11 10:59:17 -0700 |
commit | fdc94676928cd9177acfcca8eb7d669e1f4eac48 (patch) | |
tree | c99a021f8c0fc6e691bc63f5c8cc635a38380e78 /src/library/scala/reflect | |
parent | 3540ffc1fb81eef75aeff41a0ba9142b1cce8a53 (diff) | |
download | scala-fdc94676928cd9177acfcca8eb7d669e1f4eac48.tar.gz scala-fdc94676928cd9177acfcca8eb7d669e1f4eac48.tar.bz2 scala-fdc94676928cd9177acfcca8eb7d669e1f4eac48.zip |
Drive accessor synthesis from info transformer
Derive/filter/propagate annotations in info transformer,
don't rely on having type checked the derived trees in order
to see the annotations.
Use synthetics mechanism for bean accessors -- the others
will soon follow.
Propagate inferred tpt from valdef to accessors
by setting type in right spot of synthetic tree
during the info completer.
No need to add trees in derivedTrees, and get rid of
some overfactoring in method synthesis, now that we have
joined symbol and tree creation.
Preserve symbol order because tests are sensitive to it.
Drop warning on potentially discarded annotations,
I don't think this warrants a warning.
Motivated by breaking the scala-js compiler, which relied
on annotations appearing when trees are type checked.
Now that ordering constraint is gone in the new encoding,
we may as well finally fix annotation assignment.
Diffstat (limited to 'src/library/scala/reflect')
-rw-r--r-- | src/library/scala/reflect/NameTransformer.scala | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/library/scala/reflect/NameTransformer.scala b/src/library/scala/reflect/NameTransformer.scala index a8430548f5..ae36f5edc2 100644 --- a/src/library/scala/reflect/NameTransformer.scala +++ b/src/library/scala/reflect/NameTransformer.scala @@ -19,6 +19,7 @@ object NameTransformer { val NAME_JOIN_STRING = sys.props.getOrElse("SCALA_NAME_JOIN_STRING", "$") val MODULE_INSTANCE_NAME = "MODULE$" val LOCAL_SUFFIX_STRING = " " + val LAZY_LOCAL_SUFFIX_STRING = "$lzy" val SETTER_SUFFIX_STRING = "_$eq" val TRAIT_SETTER_SEPARATOR_STRING = "$_setter_$" |