From: spikeuci <spikeuci>
Date: Fri, 28 Oct 2011 21:03:13 +0000 (+0000)
Subject: Bug fixed
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=170c7498faa18869b9c9f26ff18ed40ead78b86c;p=IRC.git

Bug fixed
---

diff --git a/Robust/src/IR/Tree/BuildIR.java b/Robust/src/IR/Tree/BuildIR.java
index bfeb388f..4f4a4ee5 100644
--- a/Robust/src/IR/Tree/BuildIR.java
+++ b/Robust/src/IR/Tree/BuildIR.java
@@ -685,7 +685,7 @@ private void addOuterClassReferences( ClassDescriptor cn, int depth )
 			SymbolTable fieldTable = icd.getFieldTable();
 			//System.out.println( fieldTable.toString() );
 		}*/
-		icd.setInnerDepth( depth );
+		icd.setInnerDepth( depth + 1 );
 		addOuterClassReferences( icd, depth + 1 );	
     	}
 }
diff --git a/Robust/src/IR/Tree/SemanticCheck.java b/Robust/src/IR/Tree/SemanticCheck.java
index 84645e8e..dddee633 100644
--- a/Robust/src/IR/Tree/SemanticCheck.java
+++ b/Robust/src/IR/Tree/SemanticCheck.java
@@ -784,7 +784,7 @@ public class SemanticCheck {
 		return null;
 
 	ClassDescriptor cd = fd.getClassDescriptor();
-	int depth = 0;
+	int depth = 1;
 	int startingDepth = icd.getInnerDepth();
 
 	if( true == cd.isInnerClass() ) 
@@ -793,11 +793,12 @@ public class SemanticCheck {
 	String composed = "this";
 	NameDescriptor runningDesc = new NameDescriptor( "this" );;
 	
-	for ( int index = startingDepth; index >= depth; --index ) {
-		composed = "this$" + String.valueOf( index );	
+	for ( int index = startingDepth; index > depth; --index ) {
+		composed = "this$" + String.valueOf( index - 1  );	
 		runningDesc = new NameDescriptor( runningDesc, composed );
 	}
-	
+	if( false == cd.isInnerClass() )
+		runningDesc = new NameDescriptor( runningDesc, "this$" + String.valueOf(0) ); //all the way up.
 	NameDescriptor idDesc = new NameDescriptor( runningDesc, varname );