From 1367da7df87d0a4e01f9f5fa0252b6dff3b21b0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ali=20Sinan=20K=C3=B6ksal?= <alisinan@gmail.com>
Date: Thu, 5 May 2011 15:44:37 +0000
Subject: [PATCH] extraction of typed expressions in funcheck

---
 src/funcheck/CodeExtraction.scala | 1 +
 src/funcheck/Extractors.scala     | 7 +++++++
 2 files changed, 8 insertions(+)

diff --git a/src/funcheck/CodeExtraction.scala b/src/funcheck/CodeExtraction.scala
index 66c7d9844..1cfa5229c 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 f833efd3b..c1266088d 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)
-- 
GitLab