diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-08-16 11:41:53 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-08-16 11:41:53 -0700 |
commit | 63bce12e94eb4480823627d6328f74befa421bbf (patch) | |
tree | 9d4f6b762467e9af15c1d886e7f37caad9064911 /src/reflect | |
parent | 01f2c2ac45a15312bd45193fd6302b7b01de9db7 (diff) | |
parent | 417718b7f68cb3a5c596a96cd351709a1ca18a7b (diff) | |
download | scala-63bce12e94eb4480823627d6328f74befa421bbf.tar.gz scala-63bce12e94eb4480823627d6328f74befa421bbf.tar.bz2 scala-63bce12e94eb4480823627d6328f74befa421bbf.zip |
Merge pull request #2830 from densh/topic/stats-parsing-2
updated SI-7331, SI-6843, SI-7731, parser entry point refactoring, assertThrows utility function
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/Trees.scala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/reflect/scala/reflect/internal/Trees.scala b/src/reflect/scala/reflect/internal/Trees.scala index df1ba1e2ea..02bee5e369 100644 --- a/src/reflect/scala/reflect/internal/Trees.scala +++ b/src/reflect/scala/reflect/internal/Trees.scala @@ -1017,14 +1017,16 @@ trait Trees extends api.Trees { self: SymbolTable => trait CannotHaveAttrs extends Tree { override def canHaveAttrs = false - private def unsupported(what: String, args: Any*) = - throw new UnsupportedOperationException(s"$what($args) inapplicable for "+self.toString) + private def requireLegal(value: Any, allowed: Any, what: String) = + require(value == allowed, s"can't set $what for $self to value other than $allowed") super.setPos(NoPosition) - override def setPos(pos: Position) = unsupported("setPos", pos) + override def setPos(pos: Position) = { requireLegal(pos, NoPosition, "pos"); this } + override def pos_=(pos: Position) = setPos(pos) super.setType(NoType) - override def tpe_=(t: Type) = if (t != NoType) unsupported("tpe_=", t) + override def setType(t: Type) = { requireLegal(t, NoType, "tpe"); this } + override def tpe_=(t: Type) = setType(t) } case object EmptyTree extends TermTree with CannotHaveAttrs { override def isEmpty = true; val asList = List(this) } |