diff options
author | odersky <odersky@gmail.com> | 2017-04-06 13:12:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-06 13:12:05 +0200 |
commit | 62c2a1e2d6265cf7f096e4c4e51e4e883bce1514 (patch) | |
tree | 5cd2f9018b4a5ed5fcd1ebe6a6aed392d3fd00b4 /compiler/src/dotty/tools/dotc/ast/untpd.scala | |
parent | 2556c83a04af1baf9dd69f6139e9ea61d39e7c6a (diff) | |
parent | 30d8d878118c537ff82c88ef7ade8780b390bfae (diff) | |
download | dotty-62c2a1e2d6265cf7f096e4c4e51e4e883bce1514.tar.gz dotty-62c2a1e2d6265cf7f096e4c4e51e4e883bce1514.tar.bz2 dotty-62c2a1e2d6265cf7f096e4c4e51e4e883bce1514.zip |
Merge pull request #1958 from dotty-staging/add-enum
Add "enum" construct
Diffstat (limited to 'compiler/src/dotty/tools/dotc/ast/untpd.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/ast/untpd.scala | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/ast/untpd.scala b/compiler/src/dotty/tools/dotc/ast/untpd.scala index 1f37ad1c5..a5feecc77 100644 --- a/compiler/src/dotty/tools/dotc/ast/untpd.scala +++ b/compiler/src/dotty/tools/dotc/ast/untpd.scala @@ -9,6 +9,7 @@ import Decorators._ import util.Property import language.higherKinds import collection.mutable.ListBuffer +import reflect.ClassTag object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo { @@ -132,6 +133,10 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo { case class Inline() extends Mod(Flags.Inline) case class Type() extends Mod(Flags.EmptyFlags) + + case class Enum() extends Mod(Flags.EmptyFlags) + + case class EnumCase() extends Mod(Flags.EmptyFlags) } /** Modifiers and annotations for definitions @@ -185,6 +190,10 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo { def hasFlags = flags != EmptyFlags def hasAnnotations = annotations.nonEmpty def hasPrivateWithin = privateWithin != tpnme.EMPTY + def hasMod[T: ClassTag] = { + val cls = implicitly[ClassTag[T]].runtimeClass + mods.exists(mod => cls.isAssignableFrom(mod.getClass)) + } } @sharable val EmptyModifiers: Modifiers = new Modifiers() |