Charj: fix primitive type lookup at package scope; fix documentation
authorAaron Becker <akbecker@gmail.com>
Mon, 12 Jul 2010 21:20:17 +0000 (16:20 -0500)
committerAaron Becker <akbecker@gmail.com>
Mon, 12 Jul 2010 21:20:17 +0000 (16:20 -0500)
src/langs/charj/src/charj/translator/PackageScope.java

index 1bb5706fe0abffa35909737d53fa993c6f6ce06e..7bbdfc076ed5331f1a0c900caefa54eb89cd919d 100644 (file)
@@ -24,8 +24,8 @@ public class PackageScope extends SymbolWithScope {
 
     /** See if type is already defined in this package.  If not, look
      *  for type on the disk in same package.  For example, first time
-     *  charj.lang.Chare fails to resolve.  Load from disk and put File
-     *  in package io which is in package charj.  Next time, File will
+     *  charj.lang.Chare fails to resolve.  Load from disk and put Chare
+     *  in package lang which is in package charj.  Next time, Chare will
      *  be found.
      */
     public ClassSymbol resolveType(String type) {
@@ -34,6 +34,9 @@ public class PackageScope extends SymbolWithScope {
                 " PackageScope.resolveType(" + type + 
                 "): examine " + toString());
 
+        ClassSymbol cs = symtab.primitiveTypes.get(type);
+        if (cs != null) return cs;
+
         // break off leading package names and look them up,
         // then look up the base class name within the appropriate package scope.
         String[] nameParts = type.split("[.]", 2);