[Swift-commit] r4594 - trunk/src/org/griphyn/vdl/mapping

hategan at ci.uchicago.edu hategan at ci.uchicago.edu
Wed Jun 8 21:18:37 CDT 2011


Author: hategan
Date: 2011-06-08 21:18:37 -0500 (Wed, 08 Jun 2011)
New Revision: 4594

Modified:
   trunk/src/org/griphyn/vdl/mapping/RootDataNode.java
Log:
fixed the "mapper returned a path that it cannot subsequently map" error

Modified: trunk/src/org/griphyn/vdl/mapping/RootDataNode.java
===================================================================
--- trunk/src/org/griphyn/vdl/mapping/RootDataNode.java	2011-06-09 02:17:49 UTC (rev 4593)
+++ trunk/src/org/griphyn/vdl/mapping/RootDataNode.java	2011-06-09 02:18:37 UTC (rev 4594)
@@ -87,7 +87,6 @@
 			closeShallow();
 			return;
 		}
-		initialized();
 	}
 
 	public void handleClosed(DSHandle handle) {
@@ -117,6 +116,11 @@
 			checkConsistency(root);
 		}
 		else if (mapper.isStatic()) {
+		    if (root.isClosed()) {
+		        // this means that code that would have used this variable is already done
+		        // which can happen in cases such as if(false) {a = ...}
+		        return;
+		    }
 			// Static mappers are (array) mappers which know the size of
 			// an array statically. A good example is the fixed array mapper
 			Iterator i = mapper.existing().iterator();
@@ -227,5 +231,5 @@
 	private void initialized() {
 		initialized = true;
 		waitingMapperParam = null;
-	}
+	}    
 }




More information about the Swift-commit mailing list