SymbolTable fieldTable = icd.getFieldTable();
//System.out.println( fieldTable.toString() );
}*/
- icd.setInnerDepth( depth );
+ icd.setInnerDepth( depth + 1 );
addOuterClassReferences( icd, depth + 1 );
}
}
return null;
ClassDescriptor cd = fd.getClassDescriptor();
- int depth = 0;
+ int depth = 1;
int startingDepth = icd.getInnerDepth();
if( true == cd.isInnerClass() )
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 );