tree-sitter-analyzer 1.2.2__tar.gz → 1.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of tree-sitter-analyzer might be problematic. Click here for more details.

Files changed (146) hide show
  1. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/CHANGELOG.md +22 -0
  2. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/PKG-INFO +3 -3
  3. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/README.md +2 -2
  4. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/README_ja.md +2 -2
  5. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/README_zh.md +2 -2
  6. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/pyproject.toml +2 -2
  7. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/java_plugin.py +65 -1
  8. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/uv.lock +2 -2
  9. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/.gitignore +0 -0
  10. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/.kiro/steering/product.md +0 -0
  11. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/.kiro/steering/structure.md +0 -0
  12. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/.kiro/steering/tech.md +0 -0
  13. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/.pre-commit-config.yaml +0 -0
  14. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/.pre-commit-hooks.yaml +0 -0
  15. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/AI_COLLABORATION_GUIDE.md +0 -0
  16. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/CODE_STYLE_GUIDE.md +0 -0
  17. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/CONTRIBUTING.md +0 -0
  18. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/DEPLOYMENT_GUIDE.md +0 -0
  19. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/GITFLOW.md +0 -0
  20. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/GITFLOW_ja.md +0 -0
  21. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/GITFLOW_zh.md +0 -0
  22. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/LANGUAGE_GUIDELINES.md +0 -0
  23. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/LLM_CODING_GUIDELINES.md +0 -0
  24. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/MCP_SETUP_DEVELOPERS.md +0 -0
  25. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/MCP_SETUP_USERS.md +0 -0
  26. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/PROJECT_ROOT_CONFIG.md +0 -0
  27. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/PYPI_RELEASE_GUIDE.md +0 -0
  28. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/REFACTORING_SUMMARY.md +0 -0
  29. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/build_standalone.py +0 -0
  30. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/check_quality.py +0 -0
  31. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/docs/GITFLOW_BEST_PRACTICES.md +0 -0
  32. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/docs/RELEASE_EXECUTION_GUIDE.md +0 -0
  33. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/docs/api.md +0 -0
  34. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/BigService.java +0 -0
  35. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/BigService.json +0 -0
  36. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/BigService.summary.json +0 -0
  37. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/JavaDocTest.java +0 -0
  38. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/MultiClass.java +0 -0
  39. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/Sample.java +0 -0
  40. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/calculate_token_comparison.py +0 -0
  41. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/project_root_demo.py +0 -0
  42. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/sample.py +0 -0
  43. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/security_demo.py +0 -0
  44. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/examples/security_integration_demo.py +0 -0
  45. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/llm_code_checker.py +0 -0
  46. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/pypirc_example.txt +0 -0
  47. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/pytest.ini +0 -0
  48. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/scripts/README.md +0 -0
  49. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/scripts/gitflow_helper.py +0 -0
  50. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/scripts/gitflow_release_automation.py +0 -0
  51. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/scripts/sync_version.py +0 -0
  52. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/scripts/sync_version_minimal.py +0 -0
  53. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/start_mcp_server.py +0 -0
  54. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/01_onboarding.md +0 -0
  55. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/02_architecture_map.md +0 -0
  56. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/03_cli_cheatsheet.md +0 -0
  57. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/04_mcp_cheatsheet.md +0 -0
  58. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/05_plugin_tutorial.md +0 -0
  59. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/06_quality_workflow.md +0 -0
  60. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/07_troubleshooting.md +0 -0
  61. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/08_prompt_library.md +0 -0
  62. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/09_tasks.md +0 -0
  63. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/10_glossary.md +0 -0
  64. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/11_takeover_plan.md +0 -0
  65. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/CLI_COMMAND_CORRECTIONS.md +0 -0
  66. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/IMPROVEMENT_SUMMARY.md +0 -0
  67. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/training/README.md +0 -0
  68. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/__init__.py +0 -0
  69. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/__main__.py +0 -0
  70. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/api.py +0 -0
  71. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/__init__.py +0 -0
  72. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/__main__.py +0 -0
  73. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  74. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  75. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  76. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  77. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  78. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  79. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  80. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  81. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  82. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  83. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/cli_main.py +0 -0
  84. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/constants.py +0 -0
  85. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/__init__.py +0 -0
  86. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  87. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/cache_service.py +0 -0
  88. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/engine.py +0 -0
  89. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/parser.py +0 -0
  90. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query.py +0 -0
  91. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query_filter.py +0 -0
  92. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/core/query_service.py +0 -0
  93. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/encoding_utils.py +0 -0
  94. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/exceptions.py +0 -0
  95. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/file_handler.py +0 -0
  96. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  97. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  98. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  99. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  100. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  101. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  102. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  103. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  104. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  105. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  106. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/language_detector.py +0 -0
  107. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/language_loader.py +0 -0
  108. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/__init__.py +0 -0
  109. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  110. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  111. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  112. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  113. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  114. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  115. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/server.py +0 -0
  116. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  117. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  118. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  119. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  120. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/query_tool.py +0 -0
  121. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  122. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  123. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  124. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  125. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  126. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/mcp/utils/path_resolver.py +0 -0
  127. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/models.py +0 -0
  128. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/output_manager.py +0 -0
  129. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  130. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/base.py +0 -0
  131. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/plugins/manager.py +0 -0
  132. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/project_detector.py +0 -0
  133. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/__init__.py +0 -0
  134. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/java.py +0 -0
  135. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/javascript.py +0 -0
  136. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/python.py +0 -0
  137. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/queries/typescript.py +0 -0
  138. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/query_loader.py +0 -0
  139. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/__init__.py +0 -0
  140. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/boundary_manager.py +0 -0
  141. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/regex_checker.py +0 -0
  142. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/security/validator.py +0 -0
  143. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/table_formatter.py +0 -0
  144. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/tree_sitter_analyzer/utils.py +0 -0
  145. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/upload_interactive.py +0 -0
  146. {tree_sitter_analyzer-1.2.2 → tree_sitter_analyzer-1.2.3}/upload_to_pypi.py +0 -0
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.2.3] - 2025-08-27
4
+
5
+ ### Release: v1.2.3
6
+
7
+ #### 🐛 Java Import Parsing Fix
8
+ - **Robust fallback mechanism**: Added regex-based import extraction when tree-sitter parsing fails
9
+ - **CI environment compatibility**: Resolved import count assertion failures across different CI environments
10
+ - **Cross-platform stability**: Enhanced Java parser robustness for Windows, macOS, and Linux
11
+
12
+ #### 🔧 Technical Improvements
13
+ - **Fallback import extraction**: Implemented backup parsing method for Java import statements
14
+ - **Environment handling**: Better handling of tree-sitter version differences in CI environments
15
+ - **Error recovery**: Improved error handling and recovery in Java element extraction
16
+ - **GitFlow process correction**: Standardized release process documentation and workflow
17
+
18
+ #### 📚 Documentation Updates
19
+ - **Multi-language support**: Updated version numbers across all language variants (English, Japanese, Chinese)
20
+ - **Process documentation**: Corrected and standardized GitFlow release process
21
+ - **Version consistency**: Synchronized version numbers across all project files
22
+
23
+ ---
24
+
3
25
  ## [1.2.2] - 2025-08-27
4
26
 
5
27
  ### Release: v1.2.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 1.2.2
3
+ Version: 1.2.3
4
4
  Summary: Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture
5
5
  Project-URL: Homepage, https://github.com/aimasteracc/tree-sitter-analyzer
6
6
  Project-URL: Documentation, https://github.com/aimasteracc/tree-sitter-analyzer#readme
@@ -167,7 +167,7 @@ Description-Content-Type: text/markdown
167
167
  [![Coverage](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#quality-assurance)
168
168
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
169
169
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
170
- [![Version](https://img.shields.io/badge/version-1.2.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
170
+ [![Version](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
171
171
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
172
172
 
173
173
  ## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -739,7 +739,7 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
739
739
  - **Zero test failures** - Fully CI/CD ready
740
740
  - **Cross-platform compatibility** - Windows, macOS, Linux
741
741
 
742
- ### ⚡ **Latest Quality Achievements (v1.2.2)**
742
+ ### ⚡ **Latest Quality Achievements (v1.2.3)**
743
743
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
744
744
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
745
745
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
@@ -6,7 +6,7 @@
6
6
  [![Coverage](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#quality-assurance)
7
7
  [![Quality](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#quality-assurance)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![Version](https://img.shields.io/badge/version-1.2.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![Version](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 Break LLM Token Limits, Let AI Understand Code Files of Any Size
@@ -578,7 +578,7 @@ Tree-sitter Analyzer automatically detects and protects project boundaries:
578
578
  - **Zero test failures** - Fully CI/CD ready
579
579
  - **Cross-platform compatibility** - Windows, macOS, Linux
580
580
 
581
- ### ⚡ **Latest Quality Achievements (v1.2.2)**
581
+ ### ⚡ **Latest Quality Achievements (v1.2.3)**
582
582
  - ✅ **Cross-platform path compatibility** - Fixed Windows short path names and macOS symbolic link differences
583
583
  - ✅ **Windows environment** - Implemented robust path normalization using Windows API
584
584
  - ✅ **macOS environment** - Fixed `/var` vs `/private/var` symbolic link differences
@@ -6,7 +6,7 @@
6
6
  [![カバレッジ](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#品質保証)
7
7
  [![品質](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#品質保証)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![バージョン](https://img.shields.io/badge/version-1.2.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![バージョン](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 LLMトークン制限を突破し、AIにあらゆるサイズのコードファイルを理解させる
@@ -566,7 +566,7 @@ Tree-sitter Analyzerは自動的にプロジェクト境界を検出・保護:
566
566
  - **ゼロテスト失敗** - 完全なCI/CD対応
567
567
  - **クロスプラットフォーム対応** - Windows、macOS、Linux
568
568
 
569
- ### ⚡ **最新の品質成果(v1.2.2)**
569
+ ### ⚡ **最新の品質成果(v1.2.3)**
570
570
  - ✅ **クロスプラットフォームパス互換性** - Windows短パス名とmacOSシンボリックリンクの違いを修正
571
571
  - ✅ **Windows環境** - Windows APIを使用した堅牢なパス正規化を実装
572
572
  - ✅ **macOS環境** - `/var`と`/private/var`シンボリックリンクの違いを修正
@@ -6,7 +6,7 @@
6
6
  [![覆盖率](https://img.shields.io/badge/coverage-74.10%25-green.svg)](#质量保证)
7
7
  [![质量](https://img.shields.io/badge/quality-enterprise%20grade-blue.svg)](#质量保证)
8
8
  [![PyPI](https://img.shields.io/pypi/v/tree-sitter-analyzer.svg)](https://pypi.org/project/tree-sitter-analyzer/)
9
- [![版本](https://img.shields.io/badge/version-1.2.2-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
9
+ [![版本](https://img.shields.io/badge/version-1.2.3-blue.svg)](https://github.com/aimasteracc/tree-sitter-analyzer/releases)
10
10
  [![GitHub Stars](https://img.shields.io/github/stars/aimasteracc/tree-sitter-analyzer.svg?style=social)](https://github.com/aimasteracc/tree-sitter-analyzer)
11
11
 
12
12
  ## 🚀 突破LLM token限制,让AI理解任意大小的代码文件
@@ -566,7 +566,7 @@ Tree-sitter Analyzer自动检测和保护项目边界:
566
566
  - **零测试失败** - 完全CI/CD就绪
567
567
  - **跨平台兼容** - Windows、macOS、Linux
568
568
 
569
- ### ⚡ **最新质量成就(v1.2.2)**
569
+ ### ⚡ **最新质量成就(v1.2.3)**
570
570
  - ✅ **跨平台路径兼容性** - 修复Windows短路径名称和macOS符号链接差异
571
571
  - ✅ **Windows环境** - 使用Windows API实现稳健的路径标准化
572
572
  - ✅ **macOS环境** - 修复`/var`与`/private/var`符号链接差异
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "tree-sitter-analyzer"
7
- version = "1.2.2"
7
+ version = "1.2.3"
8
8
  description = "Extensible multi-language code analyzer framework using Tree-sitter with dynamic plugin architecture"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -320,7 +320,7 @@ directory = "htmlcov"
320
320
  # MCP server configuration
321
321
  [tool.mcp]
322
322
  server_name = "tree-sitter-analyzer"
323
- server_version = "1.2.2"
323
+ server_version = "1.2.3"
324
324
  description = "Tree-sitter based code analysis MCP server with multi-language support"
325
325
  capabilities = [
326
326
  "check_code_scale",
@@ -150,7 +150,7 @@ class JavaElementExtractor(ElementExtractor):
150
150
  def extract_imports(
151
151
  self, tree: "tree_sitter.Tree", source_code: str
152
152
  ) -> list[Import]:
153
- """Extract Java import statements"""
153
+ """Extract Java import statements with enhanced robustness"""
154
154
  self.source_code = source_code
155
155
  self.content_lines = source_code.split("\n")
156
156
 
@@ -172,9 +172,73 @@ class JavaElementExtractor(ElementExtractor):
172
172
  # After package and imports come class declarations, so stop
173
173
  break
174
174
 
175
+ # Fallback: if no imports found via tree-sitter, try regex-based extraction
176
+ if not imports and "import" in source_code:
177
+ log_debug("No imports found via tree-sitter, trying regex fallback")
178
+ fallback_imports = self._extract_imports_fallback(source_code)
179
+ imports.extend(fallback_imports)
180
+
175
181
  log_debug(f"Extracted {len(imports)} imports")
176
182
  return imports
177
183
 
184
+ def _extract_imports_fallback(self, source_code: str) -> list[Import]:
185
+ """Fallback import extraction using regex when tree-sitter fails"""
186
+ imports = []
187
+ lines = source_code.split("\n")
188
+
189
+ for line_num, line in enumerate(lines, 1):
190
+ line = line.strip()
191
+ if line.startswith("import ") and line.endswith(";"):
192
+ # Extract import statement
193
+ import_content = line[:-1] # Remove semicolon
194
+
195
+ if "static" in import_content:
196
+ # Static import
197
+ static_match = re.search(r"import\s+static\s+([\w.]+)", import_content)
198
+ if static_match:
199
+ import_name = static_match.group(1)
200
+ if import_content.endswith(".*"):
201
+ import_name = import_name.replace(".*", "")
202
+ parts = import_name.split(".")
203
+ if len(parts) > 1:
204
+ import_name = ".".join(parts[:-1])
205
+
206
+ imports.append(Import(
207
+ name=import_name,
208
+ start_line=line_num,
209
+ end_line=line_num,
210
+ raw_text=line,
211
+ language="java",
212
+ module_name=import_name,
213
+ is_static=True,
214
+ is_wildcard=import_content.endswith(".*"),
215
+ import_statement=import_content,
216
+ ))
217
+ else:
218
+ # Normal import
219
+ normal_match = re.search(r"import\s+([\w.]+)", import_content)
220
+ if normal_match:
221
+ import_name = normal_match.group(1)
222
+ if import_content.endswith(".*"):
223
+ if import_name.endswith(".*"):
224
+ import_name = import_name[:-2]
225
+ elif import_name.endswith("."):
226
+ import_name = import_name[:-1]
227
+
228
+ imports.append(Import(
229
+ name=import_name,
230
+ start_line=line_num,
231
+ end_line=line_num,
232
+ raw_text=line,
233
+ language="java",
234
+ module_name=import_name,
235
+ is_static=False,
236
+ is_wildcard=import_content.endswith(".*"),
237
+ import_statement=import_content,
238
+ ))
239
+
240
+ return imports
241
+
178
242
  def extract_packages(
179
243
  self, tree: "tree_sitter.Tree", source_code: str
180
244
  ) -> list[Package]:
@@ -1,5 +1,5 @@
1
1
  version = 1
2
- revision = 3
2
+ revision = 2
3
3
  requires-python = ">=3.10"
4
4
 
5
5
  [[package]]
@@ -1495,7 +1495,7 @@ wheels = [
1495
1495
 
1496
1496
  [[package]]
1497
1497
  name = "tree-sitter-analyzer"
1498
- version = "1.2.2"
1498
+ version = "1.2.3"
1499
1499
  source = { editable = "." }
1500
1500
  dependencies = [
1501
1501
  { name = "cachetools" },