소스 검색

CheckCast after MapGet if not primitive

Required for Type assertion, else a 'Object is not assignable to X' will follow
kindlich 5 년 전
부모
커밋
fb280d54ed
No known key found for this signature in database
1개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  1. 3
    0
      JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode/compiler/JavaExpressionVisitor.java

+ 3
- 0
JavaBytecodeCompiler/src/main/java/org/openzen/zenscript/javabytecode/compiler/JavaExpressionVisitor.java 파일 보기

934
 				javaWriter.invokeInterface(MAP_GET);
934
 				javaWriter.invokeInterface(MAP_GET);
935
 
935
 
936
 				type.valueType.type.accept(type.valueType, unboxingTypeVisitor);
936
 				type.valueType.type.accept(type.valueType, unboxingTypeVisitor);
937
+				if(!CompilerUtils.isPrimitive(type.valueType.type)) {
938
+					javaWriter.checkCast(context.getType(type.valueType));
939
+				}
937
 				break;
940
 				break;
938
 			}
941
 			}
939
 			case ASSOC_INDEXSET:
942
 			case ASSOC_INDEXSET:

Loading…
취소
저장