private void markAsReportReportable(JavaClassModel reference) { JavaSourceFileModel originalSource = reference.getOriginalSource(); JavaSourceFileModel decompiledSource = reference.getDecompiledSource(); if (originalSource != null) originalSource.setGenerateSourceReport(true); if (decompiledSource != null) decompiledSource.setGenerateSourceReport(true); }
private void markAsReportReportable(GraphRewrite event, EvaluationContext context, JavaClassModel reference) { AbstractJavaSourceModel originalSource = reference.getOriginalSource(); JavaSourceFileModel decompiledSource = reference.getDecompiledSource(); if (originalSource == null && decompiledSource == null && reference.getClassFile() != null && reference.getClassFile() instanceof JavaClassFileModel) { JavaClassFileModel javaClassFileModel = (JavaClassFileModel) reference.getClassFile(); javaClassFileModel.setSkipDecompilation(false); // try to decompile it FernflowerDecompilerOperation decompilerOperation = new FernflowerDecompilerOperation(); decompilerOperation.setFilesToDecompile(Collections.singletonList(javaClassFileModel)); decompilerOperation.perform(event, context); // Commit to ensure that we are using the latest data (otherwise data from other threads may not // be visible). event.getGraphContext().commit(); if (reference.getDecompiledSource() != null) { reference.getDecompiledSource().setGenerateSourceReport(true); } } if (originalSource != null) originalSource.setGenerateSourceReport(true); if (decompiledSource != null) decompiledSource.setGenerateSourceReport(true); }
private void markAsReportReportable(GraphRewrite event, EvaluationContext context, JavaClassModel reference) { AbstractJavaSourceModel originalSource = reference.getOriginalSource(); JavaSourceFileModel decompiledSource = reference.getDecompiledSource(); if (originalSource == null && decompiledSource == null && reference.getClassFile() != null && reference.getClassFile() instanceof JavaClassFileModel) { JavaClassFileModel javaClassFileModel = (JavaClassFileModel) reference.getClassFile(); javaClassFileModel.setSkipDecompilation(false); // try to decompile it FernflowerDecompilerOperation decompilerOperation = new FernflowerDecompilerOperation(); decompilerOperation.setFilesToDecompile(Collections.singletonList(javaClassFileModel)); decompilerOperation.perform(event, context); // Commit to ensure that we are using the latest data (otherwise data from other threads may not // be visible). event.getGraphContext().commit(); if (reference.getDecompiledSource() != null) { reference.getDecompiledSource().setGenerateSourceReport(true); } } if (originalSource != null) originalSource.setGenerateSourceReport(true); if (decompiledSource != null) decompiledSource.setGenerateSourceReport(true); }