summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/StdNames.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2014-09-10 13:59:03 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2014-09-12 12:07:42 +0200
commit63207e115a46634d47446a87a7f4bc3c2651b0e7 (patch)
treeb5b79a9faa7b2e9e9f1cbe56723374fe1508e0b5 /src/reflect/scala/reflect/internal/StdNames.scala
parent2ac6dc03088ecec871838d23aeb688d0e3d4eefb (diff)
downloadscala-63207e115a46634d47446a87a7f4bc3c2651b0e7.tar.gz
scala-63207e115a46634d47446a87a7f4bc3c2651b0e7.tar.bz2
scala-63207e115a46634d47446a87a7f4bc3c2651b0e7.zip
isAnonymousClass/Function for delambdafy classes is not true
Ydelambdafy:method lambda classes are not anonymous classes, and not anonymous function classes either. They are somethig new, so there's a new predicate isDelambdafyFunction. They are not anonymous classes (or functions) because anonymous classes in Java speak are nested. Delambdafy classes are always top-level, they are just synthetic. Before this patch, isAnonymous was sometimes accidentailly true: if the lambda is nested in an anonymous class. Now it's always false.
Diffstat (limited to 'src/reflect/scala/reflect/internal/StdNames.scala')
-rw-r--r--src/reflect/scala/reflect/internal/StdNames.scala23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/reflect/scala/reflect/internal/StdNames.scala b/src/reflect/scala/reflect/internal/StdNames.scala
index d203218c09..99ff6a10b4 100644
--- a/src/reflect/scala/reflect/internal/StdNames.scala
+++ b/src/reflect/scala/reflect/internal/StdNames.scala
@@ -99,17 +99,18 @@ trait StdNames {
val SINGLETON_SUFFIX: String = ".type"
- val ANON_CLASS_NAME: NameType = "$anon"
- val ANON_FUN_NAME: NameType = "$anonfun"
- val EMPTY: NameType = ""
- val EMPTY_PACKAGE_NAME: NameType = "<empty>"
- val IMPL_CLASS_SUFFIX = "$class"
- val IMPORT: NameType = "<import>"
- val MODULE_SUFFIX_NAME: NameType = MODULE_SUFFIX_STRING
- val MODULE_VAR_SUFFIX: NameType = "$module"
- val PACKAGE: NameType = "package"
- val ROOT: NameType = "<root>"
- val SPECIALIZED_SUFFIX: NameType = "$sp"
+ val ANON_CLASS_NAME: NameType = "$anon"
+ val DELAMBDAFY_LAMBDA_CLASS_NAME: NameType = "$lambda"
+ val ANON_FUN_NAME: NameType = "$anonfun"
+ val EMPTY: NameType = ""
+ val EMPTY_PACKAGE_NAME: NameType = "<empty>"
+ val IMPL_CLASS_SUFFIX = "$class"
+ val IMPORT: NameType = "<import>"
+ val MODULE_SUFFIX_NAME: NameType = MODULE_SUFFIX_STRING
+ val MODULE_VAR_SUFFIX: NameType = "$module"
+ val PACKAGE: NameType = "package"
+ val ROOT: NameType = "<root>"
+ val SPECIALIZED_SUFFIX: NameType = "$sp"
// value types (and AnyRef) are all used as terms as well
// as (at least) arguments to the @specialize annotation.