| 
				
			 | 
			
			
				
				@@ -932,7 +932,7 @@ public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativ 
			 | 
		
		
	
		
			
			| 
				932
			 | 
			
				932
			 | 
			
			
				
				 				javaWriter.invokeInterface(MAP_GET);
 
			 | 
		
		
	
		
			
			| 
				933
			 | 
			
				933
			 | 
			
			
				
				 
 
			 | 
		
		
	
		
			
			| 
				934
			 | 
			
				934
			 | 
			
			
				
				 				AssocTypeID type = (AssocTypeID) expression.target.type.type;
 
			 | 
		
		
	
		
			
			| 
				935
			 | 
			
				
			 | 
			
			
				
				-				javaWriter.checkCast(context.getInternalName(type.valueType));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				935
			 | 
			
			
				
				+				type.valueType.type.accept(type.valueType, unboxingTypeVisitor);
 
			 | 
		
		
	
		
			
			| 
				936
			 | 
			
				936
			 | 
			
			
				
				 				break;
 
			 | 
		
		
	
		
			
			| 
				937
			 | 
			
				937
			 | 
			
			
				
				 			}
 
			 | 
		
		
	
		
			
			| 
				938
			 | 
			
				938
			 | 
			
			
				
				 			case ASSOC_INDEXSET:
 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -2167,7 +2167,9 @@ public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativ 
			 | 
		
		
	
		
			
			| 
				2167
			 | 
			
				2167
			 | 
			
			
				
				 	public Void visitGetField(GetFieldExpression expression) {
 
			 | 
		
		
	
		
			
			| 
				2168
			 | 
			
				2168
			 | 
			
			
				
				 		expression.target.accept(this);
 
			 | 
		
		
	
		
			
			| 
				2169
			 | 
			
				2169
			 | 
			
			
				
				 		getField(expression.field);
 
			 | 
		
		
	
		
			
			| 
				2170
			 | 
			
				
			 | 
			
			
				
				-		javaWriter.checkCast(context.getType(expression.field.getType()));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2170
			 | 
			
			
				
				+		if(!CompilerUtils.isPrimitive(expression.field.member.getType().type)) {
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2171
			 | 
			
			
				
				+			javaWriter.checkCast(context.getType(expression.field.getType()));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2172
			 | 
			
			
				
				+		}
 
			 | 
		
		
	
		
			
			| 
				2171
			 | 
			
				2173
			 | 
			
			
				
				 		return null;
 
			 | 
		
		
	
		
			
			| 
				2172
			 | 
			
				2174
			 | 
			
			
				
				 	}
 
			 | 
		
		
	
		
			
			| 
				2173
			 | 
			
				2175
			 | 
			
			
				
				 
 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -2217,7 +2219,9 @@ public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativ 
			 | 
		
		
	
		
			
			| 
				2217
			 | 
			
				2219
			 | 
			
			
				
				 		if (builtin == null) {
 
			 | 
		
		
	
		
			
			| 
				2218
			 | 
			
				2220
			 | 
			
			
				
				 			if (context.hasJavaField(expression.getter)) {
 
			 | 
		
		
	
		
			
			| 
				2219
			 | 
			
				2221
			 | 
			
			
				
				 				javaWriter.getField(context.getJavaField(expression.getter));
 
			 | 
		
		
	
		
			
			| 
				2220
			 | 
			
				
			 | 
			
			
				
				-				javaWriter.checkCast(context.getType(expression.getter.getType()));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2222
			 | 
			
			
				
				+				if(!CompilerUtils.isPrimitive(expression.getter.member.getType().type)) {
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2223
			 | 
			
			
				
				+					javaWriter.checkCast(context.getType(expression.getter.getType()));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2224
			 | 
			
			
				
				+				}
 
			 | 
		
		
	
		
			
			| 
				2221
			 | 
			
				2225
			 | 
			
			
				
				 				return null;
 
			 | 
		
		
	
		
			
			| 
				2222
			 | 
			
				2226
			 | 
			
			
				
				 			}
 
			 | 
		
		
	
		
			
			| 
				2223
			 | 
			
				2227
			 | 
			
			
				
				 
 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -2234,8 +2238,9 @@ public class JavaExpressionVisitor implements ExpressionVisitor<Void>, JavaNativ 
			 | 
		
		
	
		
			
			| 
				2234
			 | 
			
				2238
			 | 
			
			
				
				 
 
			 | 
		
		
	
		
			
			| 
				2235
			 | 
			
				2239
			 | 
			
			
				
				 			if (!checkAndExecuteMethodInfo(expression.getter, expression.type, expression))
 
			 | 
		
		
	
		
			
			| 
				2236
			 | 
			
				2240
			 | 
			
			
				
				 				throw new IllegalStateException("Call target has no method info!");
 
			 | 
		
		
	
		
			
			| 
				2237
			 | 
			
				
			 | 
			
			
				
				-
 
			 | 
		
		
	
		
			
			| 
				2238
			 | 
			
				
			 | 
			
			
				
				-			javaWriter.checkCast(context.getType(expression.getter.getType()));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2241
			 | 
			
			
				
				+			if(!CompilerUtils.isPrimitive(expression.getter.member.getType().type)) {
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2242
			 | 
			
			
				
				+				javaWriter.checkCast(context.getType(expression.getter.getType()));
 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				2243
			 | 
			
			
				
				+			}
 
			 | 
		
		
	
		
			
			| 
				2239
			 | 
			
				2244
			 | 
			
			
				
				 			return null;
 
			 | 
		
		
	
		
			
			| 
				2240
			 | 
			
				2245
			 | 
			
			
				
				 		}
 
			 | 
		
		
	
		
			
			| 
				2241
			 | 
			
				2246
			 | 
			
			
				
				 
 
			 |