gitextract_m6imoy85/ ├── .gitignore ├── .travis.yml ├── FEATURES.md ├── LICENSE ├── README.md ├── arg_scanner/ │ ├── .gitignore │ ├── Gemfile │ ├── LICENSE.txt │ ├── README.md │ ├── Rakefile │ ├── arg_scanner.gemspec │ ├── bin/ │ │ ├── arg-scanner │ │ ├── console │ │ ├── rubymine-type-tracker │ │ └── setup │ ├── ext/ │ │ └── arg_scanner/ │ │ ├── arg_scanner.c │ │ ├── arg_scanner.h │ │ └── extconf.rb │ ├── lib/ │ │ ├── arg_scanner/ │ │ │ ├── options.rb │ │ │ ├── require_all.rb │ │ │ ├── starter.rb │ │ │ ├── state_tracker.rb │ │ │ ├── type_tracker.rb │ │ │ ├── version.rb │ │ │ └── workspace.rb │ │ └── arg_scanner.rb │ ├── test/ │ │ ├── helper.rb │ │ ├── test_args_info.rb │ │ ├── test_call_info.rb │ │ └── test_state_tracker.rb │ └── util/ │ └── state_filter.rb ├── build.gradle ├── common/ │ ├── build.gradle │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── jetbrains/ │ └── ruby/ │ └── codeInsight/ │ ├── Injector.kt │ ├── Logger.kt │ └── PrintToStdoutLogger.kt ├── contract-creator/ │ ├── build.gradle │ └── src/ │ └── org/ │ └── jetbrains/ │ └── ruby/ │ └── runtime/ │ └── signature/ │ └── server/ │ ├── SignatureServer.kt │ ├── SignatureServerInjector.kt │ └── serialisation/ │ └── ServerResponseBean.kt ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── ide-plugin/ │ ├── CHANGELOG.md │ ├── build.gradle │ ├── resources/ │ │ └── META-INF/ │ │ └── plugin.xml │ └── src/ │ ├── com/ │ │ └── intellij/ │ │ └── execution/ │ │ └── executors/ │ │ ├── CollectStateExecutor.kt │ │ └── RunWithTypeTrackerExecutor.java │ ├── org/ │ │ └── jetbrains/ │ │ └── plugins/ │ │ └── ruby/ │ │ ├── IdePluginLogger.kt │ │ ├── PluginResourceUtil.java │ │ ├── RubyDynamicCodeInsightPluginInjector.kt │ │ ├── ancestorsextractor/ │ │ │ ├── AncestorsExtractor.kt │ │ │ └── RailsConsoleRunner.kt │ │ ├── ruby/ │ │ │ ├── actions/ │ │ │ │ ├── ExportAncestorsActions.kt │ │ │ │ ├── ExportAncesttorsDiffAction.kt │ │ │ │ ├── ExportFileActionBase.kt │ │ │ │ └── ImportExportContractsAction.kt │ │ │ ├── codeInsight/ │ │ │ │ ├── ProjectLifecycleListenerImpl.kt │ │ │ │ ├── RubyDynamicCodeInsightPluginAppLifecyctlListener.kt │ │ │ │ ├── TrackerDataLoader.kt │ │ │ │ ├── stateTracker/ │ │ │ │ │ ├── ClassHierarchySymbolProvider.kt │ │ │ │ │ └── RubyClassHierarchyWithCaching.kt │ │ │ │ ├── symbols/ │ │ │ │ │ └── structure/ │ │ │ │ │ └── RMethodSyntheticSymbol.java │ │ │ │ └── types/ │ │ │ │ ├── RubyCollectStateRunner.kt │ │ │ │ ├── RubyRunWithTypeTrackerRunner.kt │ │ │ │ └── RubyTypeProvider.kt │ │ │ ├── intentions/ │ │ │ │ ├── AddContractAnnotationIntention.java │ │ │ │ ├── BaseRubyMethodIntentionAction.kt │ │ │ │ └── RemoveCollectedInfoIntention.kt │ │ │ ├── persistent/ │ │ │ │ └── TypeInferenceDirectory.kt │ │ │ └── run/ │ │ │ └── configuration/ │ │ │ ├── CollectExecSettings.java │ │ │ └── RunWithTypeTrackerRunConfigurationExtension.java │ │ ├── settings/ │ │ │ ├── RubyTypeContractsConfigurable.kt │ │ │ ├── RubyTypeContractsConfigurableUI.kt │ │ │ └── RubyTypeContractsSettings.kt │ │ └── util/ │ │ └── SignatureServerUtil.kt │ └── test/ │ ├── java/ │ │ ├── CallStatCompletionTest.kt │ │ └── org/ │ │ └── jetbrains/ │ │ └── plugins/ │ │ └── ruby/ │ │ └── ruby/ │ │ └── actions/ │ │ └── ImportExportTests.kt │ └── testData/ │ ├── anonymous_module_method_call_test.rb │ ├── call_info_of_nested_class_test.rb │ ├── duplicates_in_callinfo_table_test.rb │ ├── forget_call_info_when_arguments_number_changed_test_part_1.rb │ ├── forget_call_info_when_arguments_number_changed_test_part_2.rb │ ├── in_project_root_test/ │ │ ├── gem_like.rb │ │ └── in_project_root_test.rb │ ├── merge_test1.rb │ ├── merge_test1_to_run.rb │ ├── merge_test2.rb │ ├── merge_test2_to_run.rb │ ├── method_without_parameters_test.rb │ ├── multiple_execution_test1.rb │ ├── multiple_execution_test2.rb │ ├── multiple_execution_test2_to_run.rb │ ├── ref_links_test.rb │ ├── ref_links_test_to_run.rb │ ├── ruby_exec_part_2.rb │ ├── ruby_exec_test.rb │ ├── sample_kw_test.rb │ ├── sample_kw_test_to_run.rb │ ├── sample_test.rb │ ├── sample_test_to_run.rb │ ├── save_types_between_launches_test_part_1.rb │ ├── save_types_between_launches_test_part_2.rb │ ├── simple_call_info_collection_test.rb │ ├── simple_call_info_collection_test_multiple_functions_test.rb │ ├── simple_call_info_collection_with_multiple_arguments_test.rb │ └── top_level_methods_call_info_collection_test.rb ├── ruby-call-signature/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── jetbrains/ │ │ └── ruby/ │ │ └── codeInsight/ │ │ └── types/ │ │ └── signature/ │ │ ├── CallInfo.kt │ │ ├── ClassInfo.kt │ │ ├── GemInfo.kt │ │ ├── MethodInfo.kt │ │ ├── ParameterInfo.java │ │ ├── RSignatureContract.java │ │ ├── RSignatureContractContainer.kt │ │ ├── RSignatureContractNode.java │ │ ├── RTuple.java │ │ ├── SignatureContract.kt │ │ ├── SignatureInfo.kt │ │ ├── contractTransition/ │ │ │ ├── ContractTransition.java │ │ │ ├── ReferenceContractTransition.java │ │ │ ├── TransitionHelper.java │ │ │ └── TypedContractTransition.java │ │ └── serialization/ │ │ ├── MethodInfoSerialization.kt │ │ ├── RmcDirectory.kt │ │ ├── SignatureContractSerialization.kt │ │ └── TestSerialization.kt │ └── test/ │ └── java/ │ └── org/ │ └── jetbrains/ │ └── ruby/ │ └── codeInsight/ │ └── types/ │ └── signature/ │ ├── GemInfoFromPathTest.kt │ ├── SignatureContractMergeTest.kt │ ├── SignatureContractSerializationTest.kt │ └── SignatureContractTestBase.kt ├── settings.gradle ├── signature-viewer/ │ ├── build.gradle │ └── src/ │ └── org/ │ └── jetbrains/ │ └── ruby/ │ └── runtime/ │ └── signature/ │ ├── DBViewer.kt │ ├── EraseLocation.kt │ ├── SignatureExport.kt │ ├── SignatureImport.kt │ ├── SignatureViewer.kt │ └── SplitDB.kt ├── state-tracker/ │ ├── build.gradle │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── jetbrains/ │ │ └── ruby/ │ │ └── stateTracker/ │ │ ├── RubyClassHierarchy.kt │ │ └── RubyClassHierarchyLoader.kt │ └── test/ │ └── java/ │ ├── org/ │ │ └── jetbrains/ │ │ └── ruby/ │ │ └── stateTracker/ │ │ ├── RubyClassHierarchyLoaderNonStandardModuleTypeTest.kt │ │ └── RubyClassHierarchyLoaderTest.kt │ └── testData/ │ ├── classes.json │ └── non-standard-module-type.json └── storage-server-api/ ├── build.gradle └── src/ ├── main/ │ └── java/ │ └── org/ │ └── jetbrains/ │ └── ruby/ │ └── codeInsight/ │ └── types/ │ ├── signature/ │ │ └── serialization/ │ │ └── BlobSerialization.kt │ └── storage/ │ └── server/ │ ├── DatabaseProvider.kt │ ├── RSignatureProvider.java │ ├── RSignatureStorage.java │ ├── StorageException.java │ ├── impl/ │ │ ├── IntIdTableWithPossibleDependency.kt │ │ ├── RSignatureProviderImpl.kt │ │ ├── RowConversions.kt │ │ └── Schema.kt │ └── testutil/ │ └── DatabaseTestUtils.kt └── test/ └── java/ └── org/ └── jetbrains/ └── ruby/ └── codeInsight/ └── types/ └── storage/ └── server/ └── impl/ └── RSignatureProviderTest.kt