* src/vm/jit/parse.cpp,
[cacao.git] / src / vm / jit / verify / typecheck-typeinferer.c
index 5de1a622b60e0c908c2a79d7f7262f50f60e774c..60af00882e08f5cf3055db0d986147fd107380ab 100644 (file)
@@ -1,9 +1,7 @@
 /* src/vm/jit/verify/typecheck-typeinferer.c - type inference pass
 
-   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   J. Wenninger, Institut f. Computersprachen - TU Wien
+   Copyright (C) 1996-2005, 2006, 2007, 2008
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
-
-   Authors: Edwin Steiner
-
-   $Id$
-
 */
 
 #include "config.h"
 #include <string.h>
 
 #include "mm/memory.h"
+
+#include "native/native.hpp"
+
 #include "toolbox/logging.h"
-#include "native/native.h"
-#include "vm/builtin.h"
-#include "vm/jit/patcher.h"
-#include "vm/loader.h"
-#include "vm/options.h"
-#include "vm/jit/jit.h"
-#include "vm/jit/show.h"
-#include "vm/jit/parse.h"
+
 #include "vm/access.h"
-#include "vm/resolve.h"
-#include "vm/exceptions.h"
-#include "vm/vm.h"
+#include "vm/array.hpp"
+#include "vm/jit/builtin.hpp"
+#include "vm/exceptions.hpp"
+#include "vm/globals.hpp"
+#include "vm/loader.hpp"
+#include "vm/options.h"
+#include "vm/primitive.hpp"
+#include "vm/resolve.hpp"
+#include "vm/vm.hpp"
+
+#include "vm/jit/jit.hpp"
+#include "vm/jit/show.hpp"
+#include "vm/jit/parse.hpp"
+
 #include "vm/jit/verify/typecheck-typeinferer.h"
 
 #define TYPECHECK_NO_STATISTICS
@@ -62,7 +61,8 @@
 #define EXCEPTION          do { return false; } while (0)
 #define VERIFY_ERROR(msg)  assert(false)
 
-#define CHECK_LOCAL_TYPE(index, t)
+#define CHECK_LOCAL_TYPE(index, t)                                   \
+       assert(jd->var[(index)].type == (t));
 
 #define STORE_LOCAL(t, index)                                        \
     do {                                                             \