aserg-ufmg / RefDiff

A tool to mine refactorings in the commit history of git repositories.
MIT License
146 stars 44 forks source link

NPE occurs in GitHelper.forEachNonMergeCommit() #9

Closed onewhl closed 3 years ago

onewhl commented 4 years ago

Hi! I ran RefDiff on the Java project and encountered the NPE problem. Project: IntelliJDeodorant Code:

JavaPlugin javaPlugin = new JavaPlugin(tempFolder);
RefDiff refDiffJava = new RefDiff(javaPlugin);  
File intellijdeodorantRepo = refDiffJava.cloneGitRepository(
    new File(tempFolder, "intellijdeodorant"),
    "https://github.com/JetBrains-Research/IntelliJDeodorant.git");

refDiffJava.computeDiffForCommitHistory(intellijdeodorantRepo, 100, (commit, diff) -> {
    printRefactorings("Refactorings found in IntelliJDeodorant " + commit.getId().name(), diff);
}); 

Stacktrace:

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.NullPointerException
    at refdiff.core.io.GitHelper.forEachNonMergeCommit(GitHelper.java:120)
    at refdiff.core.RefDiff.computeDiffForCommitHistory(RefDiff.java:83)
    at refdiff.core.RefDiff.computeDiffForCommitHistory(RefDiff.java:70)
    at refdiff.examples.RefDiffExample.runExamples(RefDiffExample.java:74)
    at refdiff.examples.RefDiffExample.main(RefDiffExample.java:15)
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
    at refdiff.core.diff.CstComparator.compare(CstComparator.java:55)
    at refdiff.core.diff.CstComparator.compare(CstComparator.java:39)
    at refdiff.core.RefDiff.lambda$0(RefDiff.java:85)
    at refdiff.core.io.GitHelper.forEachNonMergeCommit(GitHelper.java:111)
    ... 4 more
Caused by: java.lang.NullPointerException
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.addType(PackageBinding.java:106)
    at org.eclipse.jdt.internal.compiler.lookup.ClassScope.buildType(ClassScope.java:432)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:188)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:463)
    at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:340)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.accept(CompilationUnitResolver.java:186)
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:327)
    at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:262)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:3328)
    at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:3040)
    at org.eclipse.jdt.internal.compiler.ast.SingleTypeReference.getTypeBinding(SingleTypeReference.java:57)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.internalResolveType(TypeReference.java:514)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:615)
    at org.eclipse.jdt.internal.compiler.ast.TypeReference.resolveType(TypeReference.java:611)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.resolveTypeFor(SourceTypeBinding.java:1817)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.fields(SourceTypeBinding.java:949)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.internalFaultInTypeForFieldsAndMethods(SourceTypeBinding.java:917)
    at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.faultInTypesForFieldsAndMethods(SourceTypeBinding.java:913)
    at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:515)
    at org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:885)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1047)
    at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:662)
    at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:1007)
    at refdiff.parsers.java.SDModelBuilder.analyze(SDModelBuilder.java:98)
    at refdiff.parsers.java.JavaPlugin.parse(JavaPlugin.java:49)
    at refdiff.core.diff.CstComparator$DiffBuilder.<init>(CstComparator.java:76)
    at refdiff.core.diff.CstComparator.compare(CstComparator.java:49)
    ... 7 more
danilofes commented 4 years ago

Hi @onewhl,

I ran your example code with success. Can you give more details to replicate the problem? For example, which commit yields in the error?

By the way, this is the output I got:

Cloning https://github.com/JetBrains-Research/IntelliJDeodorant.git... DONE
Refactorings found in IntelliJDeodorant 14eea10a40eac86dd271505d71678aaec99d933c
Refactorings found in IntelliJDeodorant d405adb71c2665f5c6480763e362b2cb9c75b601
Refactorings found in IntelliJDeodorant 0dd6e753b451a6f49220fc411047c622357ab791
Refactorings found in IntelliJDeodorant c62ab29c3552bcb5cc05e6f22b835243de3e707b
Refactorings found in IntelliJDeodorant f3d260820b572a07531c26e45ad4610823ab7254
Refactorings found in IntelliJDeodorant fea261eff0560c9bdbf06f1cef361102c1cdfb97
Refactorings found in IntelliJDeodorant 44b2f2fae8f313db3df5c52ea8fed5131eae6dec
CHANGE_SIGNATURE    {Method new(Project) at src/main/java/org/jetbrains/research/intellijdeodorant/core/distance/ProjectInfo.java:22}   {Method new(AnalysisScope, boolean) at src/main/java/org/jetbrains/research/intellijdeodorant/core/distance/ProjectInfo.java:23})
CHANGE_SIGNATURE    {Method getMoveMethodRefactoringOpportunities(ProjectInfo, ProgressIndicator) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:17}   {Method getMoveMethodRefactoringOpportunities(ProjectInfo, ProgressIndicator, Set) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:17})
Refactorings found in IntelliJDeodorant ac12bfb16c09ef8515674ccd87d96e046b96a3e3
CHANGE_SIGNATURE    {Method addLiteral(LiteralObject) at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/decomposition/AbstractMethodFragment.java:561} {Method addLiteral(PsiExpression) at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/decomposition/AbstractMethodFragment.java:560})
Refactorings found in IntelliJDeodorant 9d0579f9ef3805a2e50d90c8b13c32331e29018d
Refactorings found in IntelliJDeodorant 24c581c5170572be3d1a54c82cfeb1a77eca1da7
Refactorings found in IntelliJDeodorant 5ac9cbdc1b2dee9ac065fe80f7fe519a321d7be5
Refactorings found in IntelliJDeodorant 88efec17747ccc141437d73c904f3d75d7c56818
CHANGE_SIGNATURE    {Method getInstance(int, double[][]) at src/main/java/org/jetbrains/research/intellijdeodorant/utils/math/Clustering.java:14}   {Method getInstance(double[][]) at src/main/java/org/jetbrains/research/intellijdeodorant/utils/math/Clustering.java:11})
CHANGE_SIGNATURE    {Method new(Set, String) at src/main/java/org/jetbrains/research/intellijdeodorant/core/distance/ExtractedConcept.java:14}  {Method new(Set) at src/main/java/org/jetbrains/research/intellijdeodorant/core/distance/ExtractedConcept.java:12})
Refactorings found in IntelliJDeodorant 0cd60180437c171ad54f390257e60d08af87e577
Refactorings found in IntelliJDeodorant cdfdf808c4344f59467224d0b74fb337b497b3ee
RENAME  {Method getChildCount(Object) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/GodClassTreeTableModel.java:47}  {Method getChildren(Object) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/GodClassTreeTableModel.java:47})
EXTRACT {Method getChild(Object, int) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractTreeTableModel.java:73}  {Method getChildren(Object) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractTreeTableModel.java:74})
EXTRACT {Method getChildCount(Object) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractTreeTableModel.java:82}  {Method getChildren(Object) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractTreeTableModel.java:74})
Refactorings found in IntelliJDeodorant caff7893f92032cd7eece39f89d6bd4a735f39ed
Refactorings found in IntelliJDeodorant fe99e23746e550870cfc9936cdf67eaef3229a93
Refactorings found in IntelliJDeodorant d980535e7e430c9fe4c58b86614c16504d32353a
Refactorings found in IntelliJDeodorant 16ea800c4799f761ef94518d74acd9e5d59ded4a
Refactorings found in IntelliJDeodorant 425109bfc24f874d4f10a9ab374fdbc05549c8a1
Refactorings found in IntelliJDeodorant 1b7d5c420b2f450a0094530fd0627df05bde978f
Refactorings found in IntelliJDeodorant affd2eb952c61221def5d629df30c8d718190fc9
Refactorings found in IntelliJDeodorant c47862e1bbefe1d10b9cc64827f6f25a3905d519
Refactorings found in IntelliJDeodorant b8a7d90c8e0c113496672cf1020153740c1c5c2a
Refactorings found in IntelliJDeodorant b97a9e5f484472ac2132a5905a3439a2ff10a49c
Refactorings found in IntelliJDeodorant c2d1e6dc6f8d0026d03c44e1404c55fc6bb8ca52
Refactorings found in IntelliJDeodorant 0d9f21dd585fa5bb587eeb0226d5bd6f48070202
Refactorings found in IntelliJDeodorant 02a835ffe8e8e3179abe7e25fa4d3397d5bbff7f
Refactorings found in IntelliJDeodorant 85fb56be8aa4b556eaca2a19d06243f2e38688e3
CHANGE_SIGNATURE    {Method generateGitHubIssueBody(ErrorReportInformation, boolean) at src/main/java/org/jetbrains/research/intellijdeodorant/reporting/AnonymousFeedback.java:150}    {Method generateGitHubIssueBody(ErrorReportInformation) at src/main/java/org/jetbrains/research/intellijdeodorant/reporting/AnonymousFeedback.java:150})
Refactorings found in IntelliJDeodorant 6cabd2c4bcc6077d77885a53c60ff71b49dc5fd4
Refactorings found in IntelliJDeodorant a567d9fc2ff8e047ffeac4dd11342cca6f33225f
Refactorings found in IntelliJDeodorant 8a977319c2c1ffcfa5ca19a1e7b90c0a7233a259
Refactorings found in IntelliJDeodorant 8c9202786be3e3e776bada3d87c298d74991aa67
Refactorings found in IntelliJDeodorant bcd7e01797dd9d25704634aa1e9a551133832f19
MOVE    {Class TestProduct at src/test/resources/testdata/ide/refactoring/godclass/TestFinalInitialisationWithLocalVariable/actual/TestProduct.java:3}  {Class TestProduct at src/test/resources/testdata/ide/refactoring/godclass/TestFinalInitialisationWithLocalVariable/expected/TestProduct.java:4})
MOVE    {Class Test at src/test/resources/testdata/ide/refactoring/godclass/TestFinalInitialisationWithLocalVariable/actual/Test.java:3}    {Class Test at src/test/resources/testdata/ide/refactoring/godclass/TestFinalInitialisationWithLocalVariable/initial/Test.java:3})
Refactorings found in IntelliJDeodorant fb97b86376789cb05ba2ba78b4f67556fcc642fe
Refactorings found in IntelliJDeodorant 5c380a02c602b959e670600b4666a7349082a58e
Refactorings found in IntelliJDeodorant 5bf6c7ad14e7c47b5ca1d5d5b1520eab37723b6a
Refactorings found in IntelliJDeodorant 7d3cc909d88c532c6eadd84566f19469d041212d
Refactorings found in IntelliJDeodorant 5fce8523f909a3786f851443b99952b5537bbec6
Refactorings found in IntelliJDeodorant c24fb03e9e19b6f6e679c26ee890cc2a82862b2b
Refactorings found in IntelliJDeodorant 457506a64aafacc28398e25b71beca838b773f19
CHANGE_SIGNATURE    {Method extractClassRefactoringApplied(Project, Integer, Integer) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:50}   {Method extractClassRefactoringApplied(Project, Integer, Integer, Integer, Integer) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:64})
CHANGE_SIGNATURE    {Method moveMethodRefactoringApplied(Project, Integer, Integer) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:43} {Method moveMethodRefactoringApplied(Project, Integer, Integer, Integer, Integer) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:54})
CHANGE_SIGNATURE    {Method typeStateCheckingRefactoringApplied(Project, Double) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:57}    {Method typeStateCheckingRefactoringApplied(Project, Integer, Double) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:74})
Refactorings found in IntelliJDeodorant b8e4318c0c12aac4f79d0da9b4d1014c99550b7e
Refactorings found in IntelliJDeodorant ed591d03e9b7188da7ee2e8a26636b4f97a3d496
Refactorings found in IntelliJDeodorant 5618e90694493ebeac92aee21d62cf00257d0824
Refactorings found in IntelliJDeodorant e29a7a90adb2ac8a1091a2a4a4a43bc5ce5dc2d3
RENAME  {Method refactoringApplied(Project, String) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:35} {Method extractMethodRefactoringApplied(Project, Integer) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/fus/collectors/IntelliJDeodorantCounterCollector.java:37})
CHANGE_SIGNATURE    {Method moveInstanceMethod(PsiMethod, PsiClass) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/RefactoringsApplier.java:56}  {Method moveInstanceMethod(MoveMethodRefactoring, PsiClass) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/RefactoringsApplier.java:56})
Refactorings found in IntelliJDeodorant 8b4df41da93dcf9ad54bdd70f35f49f6de6be761
Refactorings found in IntelliJDeodorant 2cbde78bdc09b8d92feae9ac22514e5914c526b1
Refactorings found in IntelliJDeodorant eb28ec668f589b8037a6d14e25423004b854fd7d
RENAME  {Method refactorSelected() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/MoveMethodPanel.java:154}   {Method doRefactor() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/MoveMethodPanel.java:154})
CHANGE_SIGNATURE    {Method moveRefactoring(List, AnalysisScope) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/RefactoringsApplier.java:25} {Method moveRefactoring(List) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/RefactoringsApplier.java:19})
Refactorings found in IntelliJDeodorant 1835b731126f01ad520ecb05762ec8b4616a226b
Refactorings found in IntelliJDeodorant 659b4539b44edd013f68faa530cfd9d605f53971
Refactorings found in IntelliJDeodorant 33f7d2db2e084321167557ed2fe1c4c695703f48
Refactorings found in IntelliJDeodorant 5b8cbf651e2d9e3069ef6bbb983e4894f01da3d1
Refactorings found in IntelliJDeodorant a09e62566e577c4ecdfe32dc71b53a91597c1cd6
Refactorings found in IntelliJDeodorant ccd0df005a823493540fddb4d2f676f7343ef2af
Refactorings found in IntelliJDeodorant 86674472d88ad7ab4be73c71d081bb2e7a471e48
RENAME  {Method disableNotValidSuggestion(JLabel) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodCandidatesTreeCellRenderer.java:37} {Method disableInvalidSuggestion(JLabel) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodCandidatesTreeCellRenderer.java:37})
Refactorings found in IntelliJDeodorant 873e5ad9c185c71fe72946e5a29753c1bc1d59ff
Refactorings found in IntelliJDeodorant 3a2ab1d85fc091373ca2bbfd52ab4909f0f34406
Refactorings found in IntelliJDeodorant 4437ec7d120800f6efebcb2e6805a81e434a7f81
Refactorings found in IntelliJDeodorant a1a91871fee397053da4749700a65d798edc01b9
Refactorings found in IntelliJDeodorant b5f48f7b19b2b8a0fefdddbf8f5f9cef59a82c76
Refactorings found in IntelliJDeodorant 58729df4fe89e257c86fcde9864acc6102e91bc1
Refactorings found in IntelliJDeodorant bfafd5a3140370553ad7e6d0cce3e7cd30dce4bc
Refactorings found in IntelliJDeodorant d21dc8d507b427a106b6deee4ce739df7b3f57ce
Refactorings found in IntelliJDeodorant 57fae92ce61e64a844abd8d2554b19203c9a047c
Refactorings found in IntelliJDeodorant 93a4832ca585e96db20e5ba42daa957cf688d42e
Refactorings found in IntelliJDeodorant d900f7de6444ff3cf9986e98068d3f1cad919fc4
Refactorings found in IntelliJDeodorant 160324f779cd7d49380a3e10e4c1adea7fa2ff7f
Refactorings found in IntelliJDeodorant dcaa83ad293a56c45e4cc447e2a701477c093f23
Refactorings found in IntelliJDeodorant 2e3849f065374a2396a21ec35db48b5b6787632e
Refactorings found in IntelliJDeodorant 489daf1044f49f1500e0777bce7f078a7de7ce6a
Refactorings found in IntelliJDeodorant f2dc6fb03555941c49c96d49ebd02dc4a63e7237
Refactorings found in IntelliJDeodorant 4fa7d9e37ffc178f8f936939e15cc2097c114999
EXTRACT {Method doExtract(ASTSlice) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodPanel.java:254}   {Method getStatementsToExtract(ASTSlice) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodPanel.java:271})
RENAME  {Class ExtractMethodRefactoring at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractMethod/ExtractMethodRefactoring.java:18}   {Class ExtractMethodCandidateGroup at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractMethod/ExtractMethodCandidateGroup.java:12})
Refactorings found in IntelliJDeodorant 30445bafffa2da0b64c34be5ba6f83ccf2591d40
Refactorings found in IntelliJDeodorant e24eb4d28b7dac13fb0af02e68588d4a3cdadd74
Refactorings found in IntelliJDeodorant da766342f44d1f8eacbe9218e6a9e59e01a2e6bc
Refactorings found in IntelliJDeodorant 86f3ce0a4d065a924fcd1ead9a3ff50a3adf7627
CHANGE_SIGNATURE    {Method onEnterKey() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/listeners/EnterKeyListener.java:8}    {Method onEnterKey(InputEvent) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/listeners/EnterKeyListener.java:9})
CHANGE_SIGNATURE    {Method openMethodDefinition() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodPanel.java:236}    {Method openMethodDefinition(InputEvent) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodPanel.java:238})
CHANGE_SIGNATURE    {Method onDoubleClick() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/MoveMethodPanel.java:222}  {Method onDoubleClick(InputEvent) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/MoveMethodPanel.java:223})
CHANGE_SIGNATURE    {Method highlightCode() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractRefactoringPanel.java:305} {Method highlightCode(InputEvent) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractRefactoringPanel.java:308})
CHANGE_SIGNATURE    {Method onDoubleClick() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/listeners/DoubleClickListener.java:8}  {Method onDoubleClick(InputEvent) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/listeners/DoubleClickListener.java:9})
Refactorings found in IntelliJDeodorant f3b8ab6fe5588625768b64d3561eb3c4ce7e1261
Refactorings found in IntelliJDeodorant 7ec3c4c3f6f743b65181e300bc196ba0fb8c86e6
Refactorings found in IntelliJDeodorant c15f555eb21e0170cb2e323e854aedc62254ad0a
Refactorings found in IntelliJDeodorant 874f2af5132abc08d28cac870b393c5ae62667b6
Refactorings found in IntelliJDeodorant 6a6e96778d7a7b85d23364bf288c7fe1c2fe0638
Refactorings found in IntelliJDeodorant c2e56f4bf238d5f8eaf442cc9bf764d1a4ac08b9
Refactorings found in IntelliJDeodorant c117326cc88b83e8265230c15e05b6b9c83b3527
RENAME  {Method incomingDataDependencesFromNodesDeclaringOrDefiningVariables() at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/decomposition/cfg/PDGNode.java:164}   {Method incomingDataDependenciesFromNodesDeclaringOrDefiningVariables() at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/decomposition/cfg/PDGNode.java:164})
RENAME  {Method nodeCritetionIsDeclarationOfVariableCriterion() at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/decomposition/cfg/PDGSlice.java:295} {Method nodeCriterionIsDeclarationOfVariableCriterion() at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/decomposition/cfg/PDGSlice.java:295})
Refactorings found in IntelliJDeodorant a3d905b1605f1b338a7f03620f790749d430e55f
RENAME  {Class ExtractMethodTableModel at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodTableModel.java:9} {Class ExtractMethodTreeTableModel at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/ExtractMethodTreeTableModel.java:16})
Refactorings found in IntelliJDeodorant 23a79c126622bb0ccac2e7be63069177fd77417f
CHANGE_SIGNATURE    {Method new(String, TypeObject, String, PsiElement) at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/FieldInstructionObject.java:14}  {Method new(String, TypeObject, String, PsiField) at src/main/java/org/jetbrains/research/intellijdeodorant/core/ast/FieldInstructionObject.java:17})
Refactorings found in IntelliJDeodorant 5f797dc7661af8a7070603c6518908d28900d15a
CHANGE_SIGNATURE    {Method new(PsiElement, CHANGE_TYPE, String) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:346}  {Method new(PsiElement, ChangeType, String) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:350})
CHANGE_SIGNATURE    {Method new(PsiElement, CHANGE_TYPE, String, PsiElement) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:350}  {Method new(PsiElement, ChangeType, String, PsiElement) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:354})
Refactorings found in IntelliJDeodorant 960f9af46635277a9ff3d9f995370441215b1c82
Refactorings found in IntelliJDeodorant ab9596a403df83583975244ae28110445cb6ec27
Refactorings found in IntelliJDeodorant ef5c1b0c4a47a0361d67d36437acfddca4ac18a6
MOVE    {Method runAfterCompilationCheck(ProjectInfo, Task) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:29} {Method runAfterCompilationCheck(ProjectInfo, Task) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/AbstractRefactoringPanel.java:107})
Refactorings found in IntelliJDeodorant 7deee7e799804ce4011e416342fb95b4da38896d
Refactorings found in IntelliJDeodorant 28f6782dcdbad5d6427a70f0cd9950185a2c372f
Refactorings found in IntelliJDeodorant 206b09d3fe501d69abbe72530de76ebac7a4b8cd
Refactorings found in IntelliJDeodorant 7bd4874d778b1572a76e097cc112443af6cb14de
Refactorings found in IntelliJDeodorant 5eb3e208c10defa505cfb3a1af249c0f903ce80f
Refactorings found in IntelliJDeodorant 91b3038f91231e27df32eeacd28513f47fd21500
RENAME  {Class PsiMethodPair at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:118}  {Class PsiMethodComparingPair at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:189})
CHANGE_SIGNATURE    {Method new(AbstractExtractClassRefactoring) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/GodClassUserInputDialog.java:49}  {Method new(AbstractExtractClassRefactoring, AbstractRefactoringPanel) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/GodClassUserInputDialog.java:49})
MOVE    {Class ExtractClassPreviewProcessor at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:8} {Class ExtractClassPreviewProcessor at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:8})
INLINE  {Method getSourceTypeDeclaration() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:109}    {Method setPreviewUsage() at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassRefactoring.java:115})
RENAME  {Class PsiElementPair at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:136} {Class PsiElementComparingPair at src/main/java/org/jetbrains/research/intellijdeodorant/ide/refactoring/extractClass/ExtractClassPreviewProcessor.java:233})
CHANGE_SIGNATURE    {Method new(Project, MutableDiffRequestChain, DiffDialogHints, ExtractClassRefactoring) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/GodClassPreviewResultDialog.java:42}   {Method new(Project, MutableDiffRequestChain, DiffDialogHints, ExtractClassPreviewProcessor) at src/main/java/org/jetbrains/research/intellijdeodorant/ide/ui/GodClassPreviewResultDialog.java:51})
Refactorings found in IntelliJDeodorant 653538723e36c2f9ad7722f6addb888c115cc8ac
Refactorings found in IntelliJDeodorant b0846f3d996a91f6b1f99deb6fa793ffcd98efda
Refactorings found in IntelliJDeodorant 3359f5065025103f6253598a80392d79daae75d9
CHANGE_SIGNATURE    {Method new(Task, Project) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:79}  {Method new(Task, Project, boolean, boolean) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:64})
Refactorings found in IntelliJDeodorant d182dd95cd84b4bb5fa0eef2f3c6368df475ff8a
CHANGE_SIGNATURE    {Method runAfterCompilationCheck(ProjectInfo, ProgressIndicator, Task) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:27}  {Method runAfterCompilationCheck(ProjectInfo, Task) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:35})
CHANGE_SIGNATURE    {Method new(Task) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:45}   {Method new(Task, Project) at src/main/java/org/jetbrains/research/intellijdeodorant/JDeodorantFacade.java:79})
Refactorings found in IntelliJDeodorant fa849c3b620ab5d56ed337d58f2af781fdf09fa3
Refactorings found in IntelliJDeodorant df947bfc202e561d38a5cf4d756f0e38733c8a02