diff options
author | Martin Odersky <odersky@gmail.com> | 2016-09-10 12:15:11 +0200 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2016-10-02 16:11:21 +0200 |
commit | 6bf7768e4e2e604f93f27efacf28d076d97ac951 (patch) | |
tree | 9ec884f01ceca96ccab2525dbcafa361c7a46bfd /src/dotty/tools/dotc/core/SymDenotations.scala | |
parent | d1b933cac3380edcade3891aec6ed731744b2e13 (diff) | |
download | dotty-6bf7768e4e2e604f93f27efacf28d076d97ac951.tar.gz dotty-6bf7768e4e2e604f93f27efacf28d076d97ac951.tar.bz2 dotty-6bf7768e4e2e604f93f27efacf28d076d97ac951.zip |
Refactoring for registering InlineInfo
Now it's done on the symbol directly rather than its inline
annotation. This simplifies client code and keeps the implementaion how
inline infos should be assocated with inline methods open.
Diffstat (limited to 'src/dotty/tools/dotc/core/SymDenotations.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/SymDenotations.scala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/core/SymDenotations.scala b/src/dotty/tools/dotc/core/SymDenotations.scala index 977c76668..9381f45dd 100644 --- a/src/dotty/tools/dotc/core/SymDenotations.scala +++ b/src/dotty/tools/dotc/core/SymDenotations.scala @@ -281,6 +281,15 @@ object SymDenotations { case nil => None } + /** The same as getAnnotation, but without ensuring + * that the symbol carrying the annotation is completed + */ + final def unforcedAnnotation(cls: Symbol)(implicit ctx: Context): Option[Annotation] = + dropOtherAnnotations(myAnnotations, cls) match { + case annot :: _ => Some(annot) + case nil => None + } + /** Add given annotation to the annotations of this denotation */ final def addAnnotation(annot: Annotation): Unit = annotations = annot :: myAnnotations |