diff options
author | Martin Odersky <odersky@gmail.com> | 2012-04-11 11:06:54 -0700 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2012-04-11 11:06:54 -0700 |
commit | f7a0558059559305a88ffa2c28506b29b2bc57f2 (patch) | |
tree | 267f7d00bbb327ca80b14df92e540251bf2da283 /src/compiler/scala/reflect/internal/Definitions.scala | |
parent | 754b4a85e4093f25cc10f092fefdb34215097c94 (diff) | |
download | scala-f7a0558059559305a88ffa2c28506b29b2bc57f2.tar.gz scala-f7a0558059559305a88ffa2c28506b29b2bc57f2.tar.bz2 scala-f7a0558059559305a88ffa2c28506b29b2bc57f2.zip |
Implementation of SIP 18. We still need to get rid of the warnings caused by it. Before we do that, I'd like to check in the SIP 13 implementation.
Diffstat (limited to 'src/compiler/scala/reflect/internal/Definitions.scala')
-rw-r--r-- | src/compiler/scala/reflect/internal/Definitions.scala | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/internal/Definitions.scala b/src/compiler/scala/reflect/internal/Definitions.scala index 8ea3cd511a..d3a9821596 100644 --- a/src/compiler/scala/reflect/internal/Definitions.scala +++ b/src/compiler/scala/reflect/internal/Definitions.scala @@ -914,6 +914,18 @@ trait Definitions extends reflect.api.StandardDefinitions { lazy val GetterTargetClass = getMetaAnnotation("getter") lazy val ParamTargetClass = getMetaAnnotation("param") lazy val SetterTargetClass = getMetaAnnotation("setter") + lazy val LanguageFeatureClass = getMetaAnnotation("languageFeature") + + // Language features + lazy val languageFeatureModule = getRequiredModule("scala.languageFeature") + lazy val MacrosFeature = getRequiredClass("scala.languageFeature.experimental.macros") + lazy val DynamicsFeature = getRequiredClass("scala.languageFeature.dynamics") + lazy val PostfixOpsFeature = getRequiredClass("scala.languageFeature.postfixOps") + lazy val ReflectiveCallsFeature = getRequiredClass("scala.languageFeature.reflectiveCalls") + lazy val ImplicitConversionsFeature = getRequiredClass("scala.languageFeature.implicitConversions") + lazy val HigherKindsFeature = getRequiredClass("scala.languageFeature.higherKinds") + lazy val ExistentialsFeature = getRequiredClass("scala.languageFeature.existentials") + // TODO: module, moduleClass? package, packageObject? private def getMetaAnnotation(name: String) = getRequiredClass("scala.annotation.meta." + name) @@ -990,7 +1002,7 @@ trait Definitions extends reflect.api.StandardDefinitions { case result => result } } - + def packageExists(packageName: String): Boolean = getModuleIfDefined(packageName).isPackage |