diff --git a/src/funcheck/CodeExtraction.scala b/src/funcheck/CodeExtraction.scala index 66c7d98444a0b23476098bd98c5c6bd72cb390b3..1cfa5229cb180d7ba3ee627ef229c54098f8d1ba 100644 --- a/src/funcheck/CodeExtraction.scala +++ b/src/funcheck/CodeExtraction.scala @@ -357,6 +357,7 @@ trait CodeExtraction extends Extractors { } case ExInt32Literal(v) => IntLiteral(v).setType(Int32Type) case ExBooleanLiteral(v) => BooleanLiteral(v).setType(BooleanType) + case ExTyped(e,tpt) => rec(e) case ExIdentifier(sym,tpt) => varSubsts.get(sym) match { case Some(fun) => fun() case None => { diff --git a/src/funcheck/Extractors.scala b/src/funcheck/Extractors.scala index f833efd3b4af95476862e2eaeb210b0b6b5adf48..c1266088d59fb714812461049e21f0fab9feb0c2 100644 --- a/src/funcheck/Extractors.scala +++ b/src/funcheck/Extractors.scala @@ -199,6 +199,13 @@ trait Extractors { } } + object ExTyped { + def unapply(tree : Typed): Option[(Tree,Tree)] = tree match { + case Typed(e,t) => Some((e,t)) + case _ => None + } + } + object ExIntIdentifier { def unapply(tree: Ident): Option[String] = tree match { case i: Ident if i.symbol.tpe == IntClass.tpe => Some(i.symbol.name.toString)