Refactor, make CodegenTestCase.generateCommon() static and reusable
This commit is contained in:
@@ -340,30 +340,32 @@ public abstract class CodegenTestCase extends UsefulTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected String generateToText() {
|
protected String generateToText() {
|
||||||
if(alreadyGenerated == null)
|
if (alreadyGenerated == null)
|
||||||
alreadyGenerated = generateCommon(ClassBuilderFactories.TEST);
|
alreadyGenerated = generateCommon(ClassBuilderFactories.TEST, myEnvironment, myFiles);
|
||||||
return alreadyGenerated.getFactory().createText();
|
return alreadyGenerated.getFactory().createText();
|
||||||
}
|
}
|
||||||
|
|
||||||
private GenerationState generateCommon(ClassBuilderFactory classBuilderFactory) {
|
@NotNull
|
||||||
if(alreadyGenerated != null)
|
protected static GenerationState generateCommon(
|
||||||
return alreadyGenerated;
|
@NotNull ClassBuilderFactory classBuilderFactory,
|
||||||
|
@NotNull JetCoreEnvironment environment,
|
||||||
final AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegrationAndCheckForErrors(
|
@NotNull CodegenTestFiles files
|
||||||
myEnvironment.getProject(),
|
) {
|
||||||
myFiles.getPsiFiles(),
|
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJVM.analyzeFilesWithJavaIntegrationAndCheckForErrors(
|
||||||
myFiles.getScriptParameterTypes(),
|
environment.getProject(),
|
||||||
|
files.getPsiFiles(),
|
||||||
|
files.getScriptParameterTypes(),
|
||||||
Predicates.<PsiFile>alwaysTrue(),
|
Predicates.<PsiFile>alwaysTrue(),
|
||||||
BuiltinsScopeExtensionMode.ALL);
|
BuiltinsScopeExtensionMode.ALL);
|
||||||
analyzeExhaust.throwIfError();
|
analyzeExhaust.throwIfError();
|
||||||
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
AnalyzingUtils.throwExceptionOnErrors(analyzeExhaust.getBindingContext());
|
||||||
alreadyGenerated = new GenerationState(
|
GenerationState state = new GenerationState(
|
||||||
myEnvironment.getProject(), classBuilderFactory, Progress.DEAF, analyzeExhaust, myFiles.getPsiFiles(),
|
environment.getProject(), classBuilderFactory, Progress.DEAF, analyzeExhaust, files.getPsiFiles(),
|
||||||
myEnvironment.getConfiguration().get(JVMConfigurationKeys.BUILTIN_TO_JAVA_TYPES_MAPPING_KEY, BuiltinToJavaTypesMapping.ENABLED),
|
environment.getConfiguration().get(JVMConfigurationKeys.BUILTIN_TO_JAVA_TYPES_MAPPING_KEY, BuiltinToJavaTypesMapping.ENABLED),
|
||||||
myEnvironment.getConfiguration().get(JVMConfigurationKeys.GENERATE_NOT_NULL_ASSERTIONS, true)
|
environment.getConfiguration().get(JVMConfigurationKeys.GENERATE_NOT_NULL_ASSERTIONS, true)
|
||||||
);
|
);
|
||||||
GenerationStrategy.STANDARD.compileCorrectFiles(alreadyGenerated, CompilationErrorHandler.THROW_EXCEPTION);
|
GenerationStrategy.STANDARD.compileCorrectFiles(state, CompilationErrorHandler.THROW_EXCEPTION);
|
||||||
return alreadyGenerated;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Class generateNamespaceClass() {
|
protected Class generateNamespaceClass() {
|
||||||
@@ -407,7 +409,7 @@ public abstract class CodegenTestCase extends UsefulTestCase {
|
|||||||
private GenerationState generateClassesInFileGetState() {
|
private GenerationState generateClassesInFileGetState() {
|
||||||
GenerationState generationState;
|
GenerationState generationState;
|
||||||
try {
|
try {
|
||||||
generationState = generateCommon(ClassBuilderFactories.TEST);
|
generationState = generateCommon(ClassBuilderFactories.TEST, myEnvironment, myFiles);
|
||||||
|
|
||||||
if (DxChecker.RUN_DX_CHECKER) {
|
if (DxChecker.RUN_DX_CHECKER) {
|
||||||
DxChecker.check(generationState.getFactory());
|
DxChecker.check(generationState.getFactory());
|
||||||
|
|||||||
Reference in New Issue
Block a user