tree-sitter-analyzer 0.6.0__tar.gz → 0.6.2__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 (99) hide show
  1. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/CHANGELOG.md +51 -0
  2. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/PKG-INFO +8 -8
  3. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/README.md +7 -7
  4. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/README_ja.md +7 -7
  5. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/README_zh.md +7 -7
  6. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/pyproject.toml +1 -1
  7. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/core/engine.py +7 -0
  8. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/languages/java_plugin.py +28 -0
  9. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/uv.lock +1 -1
  10. tree_sitter_analyzer-0.6.0/verify_release.py +0 -178
  11. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/.gitignore +0 -0
  12. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/.pre-commit-config.yaml +0 -0
  13. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/AI_COLLABORATION_GUIDE.md +0 -0
  14. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/CODE_STYLE_GUIDE.md +0 -0
  15. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/CONTRIBUTING.md +0 -0
  16. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/DEPLOYMENT_GUIDE.md +0 -0
  17. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/LLM_CODING_GUIDELINES.md +0 -0
  18. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/MCP_SETUP_DEVELOPERS.md +0 -0
  19. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/MCP_SETUP_USERS.md +0 -0
  20. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/build_standalone.py +0 -0
  21. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/check_quality.py +0 -0
  22. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/docs/api.md +0 -0
  23. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/BigService.java +0 -0
  24. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/BigService.json +0 -0
  25. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/BigService.summary.json +0 -0
  26. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/JavaDocTest.java +0 -0
  27. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/MultiClass.java +0 -0
  28. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/Sample.java +0 -0
  29. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/calculate_token_comparison.py +0 -0
  30. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/examples/sample.py +0 -0
  31. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/llm_code_checker.py +0 -0
  32. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/pytest.ini +0 -0
  33. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/__init__.py +0 -0
  34. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/__main__.py +0 -0
  35. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/api.py +0 -0
  36. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/__init__.py +0 -0
  37. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/__main__.py +0 -0
  38. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
  39. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
  40. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
  41. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/default_command.py +0 -0
  42. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
  43. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/query_command.py +0 -0
  44. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
  45. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
  46. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/commands/table_command.py +0 -0
  47. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli/info_commands.py +0 -0
  48. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/cli_main.py +0 -0
  49. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/core/__init__.py +0 -0
  50. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/core/analysis_engine.py +0 -0
  51. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/core/cache_service.py +0 -0
  52. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/core/parser.py +0 -0
  53. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/core/query.py +0 -0
  54. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/encoding_utils.py +0 -0
  55. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/exceptions.py +0 -0
  56. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/file_handler.py +0 -0
  57. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/formatters/__init__.py +0 -0
  58. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/formatters/base_formatter.py +0 -0
  59. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/formatters/formatter_factory.py +0 -0
  60. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/formatters/java_formatter.py +0 -0
  61. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/formatters/python_formatter.py +0 -0
  62. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
  63. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/interfaces/cli.py +0 -0
  64. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/interfaces/cli_adapter.py +0 -0
  65. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/interfaces/mcp_adapter.py +0 -0
  66. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
  67. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/language_detector.py +0 -0
  68. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/language_loader.py +0 -0
  69. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/languages/__init__.py +0 -0
  70. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
  71. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/languages/python_plugin.py +0 -0
  72. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/__init__.py +0 -0
  73. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
  74. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
  75. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +0 -0
  76. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/server.py +0 -0
  77. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
  78. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
  79. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
  80. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
  81. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
  82. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
  83. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
  84. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
  85. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
  86. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/models.py +0 -0
  87. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/output_manager.py +0 -0
  88. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/plugins/__init__.py +0 -0
  89. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/plugins/base.py +0 -0
  90. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/plugins/manager.py +0 -0
  91. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/queries/__init__.py +0 -0
  92. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/queries/java.py +0 -0
  93. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/queries/javascript.py +0 -0
  94. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/queries/python.py +0 -0
  95. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/queries/typescript.py +0 -0
  96. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/query_loader.py +0 -0
  97. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/table_formatter.py +0 -0
  98. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/tree_sitter_analyzer/utils.py +0 -0
  99. {tree_sitter_analyzer-0.6.0 → tree_sitter_analyzer-0.6.2}/upload_to_pypi.py +0 -0
@@ -5,6 +5,57 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.6.2] - 2025-08-04
9
+
10
+ ### 🔧 Fixed
11
+
12
+ #### Java Package Name Parsing
13
+ - **Fixed**: Java package names now display correctly instead of "unknown"
14
+ - **Fixed**: Package name extraction works regardless of method call order
15
+ - **Fixed**: CLI commands now show correct package names (e.g., `# com.example.service.BigService`)
16
+ - **Fixed**: MCP tools now display proper package information
17
+ - **Fixed**: Table formatter shows accurate package data (`| Package | com.example.service |`)
18
+
19
+ #### Core Improvements
20
+ - **Enhanced**: JavaElementExtractor now ensures package info is available before class extraction
21
+ - **Enhanced**: JavaPlugin.analyze_file includes package elements in analysis results
22
+ - **Enhanced**: Added robust package extraction fallback mechanism
23
+
24
+ #### Testing
25
+ - **Added**: Comprehensive regression test suite for package name parsing
26
+ - **Added**: Verification script to prevent future package name issues
27
+ - **Added**: Edge case testing for various package declaration patterns
28
+
29
+ ### 📦 Package Updates
30
+
31
+ - **Updated**: Java analysis now includes Package elements in results
32
+ - **Updated**: MCP tools provide complete package information
33
+ - **Updated**: CLI output format consistency improved
34
+
35
+ ---
36
+
37
+ ## [0.6.1] - 2025-08-04
38
+
39
+ ### 🔧 Fixed
40
+
41
+ #### Documentation
42
+ - **Fixed**: Updated all GitHub URLs from `aisheng-yu` to `aimasteracc` in README files
43
+ - **Fixed**: Corrected clone URLs in installation instructions
44
+ - **Fixed**: Updated documentation links to point to correct repository
45
+ - **Fixed**: Fixed contribution guide links in all language versions
46
+
47
+ #### Files Updated
48
+ - `README.md` - English documentation
49
+ - `README_zh.md` - Chinese documentation
50
+ - `README_ja.md` - Japanese documentation
51
+
52
+ ### 📦 Package Updates
53
+
54
+ - **Updated**: Package metadata now includes correct repository URLs
55
+ - **Updated**: All documentation links point to the correct GitHub repository
56
+
57
+ ---
58
+
8
59
  ## [0.6.0] - 2025-08-03
9
60
 
10
61
  ### 💥 Breaking Changes - Legacy Code Removal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tree-sitter-analyzer
3
- Version: 0.6.0
3
+ Version: 0.6.2
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
@@ -294,17 +294,17 @@ uv add "tree-sitter-analyzer[all,mcp]"
294
294
  ### For Developers
295
295
  ```bash
296
296
  # Clone and install for development
297
- git clone https://github.com/aisheng-yu/tree-sitter-analyzer.git
297
+ git clone https://github.com/aimasteracc/tree-sitter-analyzer.git
298
298
  cd tree-sitter-analyzer
299
299
  uv sync --extra all --extra mcp
300
300
  ```
301
301
 
302
302
  ## 📚 Documentation
303
303
 
304
- - **[MCP Setup Guide for Users](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - Simple setup for AI assistant users
305
- - **[MCP Setup Guide for Developers](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - Local development configuration
306
- - **[API Documentation](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/docs/api.md)** - Detailed API reference
307
- - **[Contributing Guide](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - How to contribute
304
+ - **[MCP Setup Guide for Users](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - Simple setup for AI assistant users
305
+ - **[MCP Setup Guide for Developers](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - Local development configuration
306
+ - **[API Documentation](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/docs/api.md)** - Detailed API reference
307
+ - **[Contributing Guide](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - How to contribute
308
308
 
309
309
  ## 🧪 Testing
310
310
 
@@ -324,7 +324,7 @@ MIT License - see [LICENSE](LICENSE) file for details.
324
324
 
325
325
  ## 🤝 Contributing
326
326
 
327
- We welcome contributions! Please see our [Contributing Guide](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md) for details.
327
+ We welcome contributions! Please see our [Contributing Guide](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md) for details.
328
328
 
329
329
  ### 🤖 AI/LLM Collaboration
330
330
 
@@ -339,7 +339,7 @@ python llm_code_checker.py --check-all
339
339
  python llm_code_checker.py path/to/new_file.py
340
340
  ```
341
341
 
342
- 📖 **See our [AI Collaboration Guide](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md) and [LLM Coding Guidelines](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md) for detailed instructions on working with AI systems.**
342
+ 📖 **See our [AI Collaboration Guide](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md) and [LLM Coding Guidelines](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md) for detailed instructions on working with AI systems.**
343
343
 
344
344
  ---
345
345
 
@@ -162,17 +162,17 @@ uv add "tree-sitter-analyzer[all,mcp]"
162
162
  ### For Developers
163
163
  ```bash
164
164
  # Clone and install for development
165
- git clone https://github.com/aisheng-yu/tree-sitter-analyzer.git
165
+ git clone https://github.com/aimasteracc/tree-sitter-analyzer.git
166
166
  cd tree-sitter-analyzer
167
167
  uv sync --extra all --extra mcp
168
168
  ```
169
169
 
170
170
  ## 📚 Documentation
171
171
 
172
- - **[MCP Setup Guide for Users](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - Simple setup for AI assistant users
173
- - **[MCP Setup Guide for Developers](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - Local development configuration
174
- - **[API Documentation](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/docs/api.md)** - Detailed API reference
175
- - **[Contributing Guide](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - How to contribute
172
+ - **[MCP Setup Guide for Users](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - Simple setup for AI assistant users
173
+ - **[MCP Setup Guide for Developers](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - Local development configuration
174
+ - **[API Documentation](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/docs/api.md)** - Detailed API reference
175
+ - **[Contributing Guide](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - How to contribute
176
176
 
177
177
  ## 🧪 Testing
178
178
 
@@ -192,7 +192,7 @@ MIT License - see [LICENSE](LICENSE) file for details.
192
192
 
193
193
  ## 🤝 Contributing
194
194
 
195
- We welcome contributions! Please see our [Contributing Guide](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md) for details.
195
+ We welcome contributions! Please see our [Contributing Guide](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md) for details.
196
196
 
197
197
  ### 🤖 AI/LLM Collaboration
198
198
 
@@ -207,7 +207,7 @@ python llm_code_checker.py --check-all
207
207
  python llm_code_checker.py path/to/new_file.py
208
208
  ```
209
209
 
210
- 📖 **See our [AI Collaboration Guide](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md) and [LLM Coding Guidelines](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md) for detailed instructions on working with AI systems.**
210
+ 📖 **See our [AI Collaboration Guide](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md) and [LLM Coding Guidelines](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md) for detailed instructions on working with AI systems.**
211
211
 
212
212
  ---
213
213
 
@@ -162,17 +162,17 @@ uv add "tree-sitter-analyzer[all,mcp]"
162
162
  ### 開発者向け
163
163
  ```bash
164
164
  # 開発用にクローンしてインストール
165
- git clone https://github.com/aisheng-yu/tree-sitter-analyzer.git
165
+ git clone https://github.com/aimasteracc/tree-sitter-analyzer.git
166
166
  cd tree-sitter-analyzer
167
167
  uv sync --extra all --extra mcp
168
168
  ```
169
169
 
170
170
  ## 📚 ドキュメント
171
171
 
172
- - **[ユーザー向けMCPセットアップガイド](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - AIアシスタントユーザー向けの簡単セットアップ
173
- - **[開発者向けMCPセットアップガイド](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - ローカル開発設定
174
- - **[APIドキュメント](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/docs/api.md)** - 詳細なAPIリファレンス
175
- - **[コントリビューションガイド](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - 貢献方法
172
+ - **[ユーザー向けMCPセットアップガイド](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - AIアシスタントユーザー向けの簡単セットアップ
173
+ - **[開発者向けMCPセットアップガイド](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - ローカル開発設定
174
+ - **[APIドキュメント](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/docs/api.md)** - 詳細なAPIリファレンス
175
+ - **[コントリビューションガイド](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - 貢献方法
176
176
 
177
177
  ## 🧪 テスト
178
178
 
@@ -192,7 +192,7 @@ MITライセンス - 詳細は[LICENSE](LICENSE)ファイルをご覧くださ
192
192
 
193
193
  ## 🤝 コントリビューション
194
194
 
195
- コントリビューションを歓迎します!詳細は[コントリビューションガイド](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)をご覧ください。
195
+ コントリビューションを歓迎します!詳細は[コントリビューションガイド](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)をご覧ください。
196
196
 
197
197
  ### 🤖 AI/LLMコラボレーション
198
198
 
@@ -207,7 +207,7 @@ python llm_code_checker.py --check-all
207
207
  python llm_code_checker.py path/to/new_file.py
208
208
  ```
209
209
 
210
- 📖 **AIシステムとの作業に関する詳細な手順については、[AIコラボレーションガイド](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md)と[LLMコーディングガイドライン](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md)をご覧ください。**
210
+ 📖 **AIシステムとの作業に関する詳細な手順については、[AIコラボレーションガイド](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md)と[LLMコーディングガイドライン](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md)をご覧ください。**
211
211
 
212
212
  ---
213
213
 
@@ -162,17 +162,17 @@ uv add "tree-sitter-analyzer[all,mcp]"
162
162
  ### 面向开发者
163
163
  ```bash
164
164
  # 克隆并安装用于开发
165
- git clone https://github.com/aisheng-yu/tree-sitter-analyzer.git
165
+ git clone https://github.com/aimasteracc/tree-sitter-analyzer.git
166
166
  cd tree-sitter-analyzer
167
167
  uv sync --extra all --extra mcp
168
168
  ```
169
169
 
170
170
  ## 📚 文档
171
171
 
172
- - **[用户MCP设置指南](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - AI助手用户的简单设置
173
- - **[开发者MCP设置指南](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - 本地开发配置
174
- - **[API文档](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/docs/api.md)** - 详细API参考
175
- - **[贡献指南](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - 如何贡献
172
+ - **[用户MCP设置指南](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_USERS.md)** - AI助手用户的简单设置
173
+ - **[开发者MCP设置指南](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/MCP_SETUP_DEVELOPERS.md)** - 本地开发配置
174
+ - **[API文档](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/docs/api.md)** - 详细API参考
175
+ - **[贡献指南](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)** - 如何贡献
176
176
 
177
177
  ## 🧪 测试
178
178
 
@@ -192,7 +192,7 @@ MIT许可证 - 详见[LICENSE](LICENSE)文件。
192
192
 
193
193
  ## 🤝 贡献
194
194
 
195
- 我们欢迎贡献!请查看我们的[贡献指南](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)了解详情。
195
+ 我们欢迎贡献!请查看我们的[贡献指南](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/CONTRIBUTING.md)了解详情。
196
196
 
197
197
  ### 🤖 AI/LLM协作
198
198
 
@@ -207,7 +207,7 @@ python llm_code_checker.py --check-all
207
207
  python llm_code_checker.py path/to/new_file.py
208
208
  ```
209
209
 
210
- 📖 **查看我们的[AI协作指南](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md)和[LLM编码指南](https://github.com/aisheng-yu/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md)了解与AI系统协作的详细说明。**
210
+ 📖 **查看我们的[AI协作指南](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/AI_COLLABORATION_GUIDE.md)和[LLM编码指南](https://github.com/aimasteracc/tree-sitter-analyzer/blob/main/LLM_CODING_GUIDELINES.md)了解与AI系统协作的详细说明。**
211
211
 
212
212
  ---
213
213
 
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "tree-sitter-analyzer"
7
- version = "0.6.0"
7
+ version = "0.6.2"
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"
@@ -301,6 +301,13 @@ class AnalysisEngine:
301
301
  # Extract different types of elements
302
302
  elements = []
303
303
 
304
+ # Extract packages first (needed for proper class package resolution)
305
+ if hasattr(extractor, "extract_packages"):
306
+ packages = extractor.extract_packages(
307
+ parse_result.tree, parse_result.source_code
308
+ )
309
+ elements.extend(packages)
310
+
304
311
  # Extract functions/methods
305
312
  if hasattr(extractor, "extract_functions"):
306
313
  functions = extractor.extract_functions(
@@ -100,6 +100,12 @@ class JavaElementExtractor(ElementExtractor):
100
100
  self.content_lines = source_code.split("\n")
101
101
  self._reset_caches()
102
102
 
103
+ # Ensure package information is extracted before processing classes
104
+ # This fixes the issue where current_package is empty when extract_classes
105
+ # is called independently or before extract_imports
106
+ if not self.current_package:
107
+ self._extract_package_from_tree(tree)
108
+
103
109
  classes: list[Class] = []
104
110
 
105
111
  # Use AdvancedAnalyzer's optimized traversal
@@ -754,6 +760,22 @@ class JavaElementExtractor(ElementExtractor):
754
760
  log_error(f"Unexpected error in package element extraction: {e}")
755
761
  return None
756
762
 
763
+ def _extract_package_from_tree(self, tree: "tree_sitter.Tree") -> None:
764
+ """
765
+ Extract package information from the tree and set current_package.
766
+
767
+ This method ensures that package information is available for class extraction
768
+ regardless of the order in which extraction methods are called.
769
+ """
770
+ try:
771
+ # Look for package declaration in the root node's children
772
+ for child in tree.root_node.children:
773
+ if child.type == "package_declaration":
774
+ self._extract_package_info(child)
775
+ break # Only one package declaration per file
776
+ except Exception as e:
777
+ log_debug(f"Failed to extract package from tree: {e}")
778
+
757
779
  def _determine_visibility(self, modifiers: list[str]) -> str:
758
780
  """Determine visibility from modifiers"""
759
781
  if "public" in modifiers:
@@ -1113,6 +1135,10 @@ class JavaPlugin(LanguagePlugin):
1113
1135
  extractor = self.create_extractor()
1114
1136
 
1115
1137
  if parse_result.tree:
1138
+ log_debug("Java Plugin: Extracting packages...")
1139
+ packages = extractor.extract_packages(parse_result.tree, source_code)
1140
+ log_debug(f"Java Plugin: Found {len(packages)} packages")
1141
+
1116
1142
  log_debug("Java Plugin: Extracting functions...")
1117
1143
  functions = extractor.extract_functions(parse_result.tree, source_code)
1118
1144
  log_debug(f"Java Plugin: Found {len(functions)} functions")
@@ -1129,6 +1155,7 @@ class JavaPlugin(LanguagePlugin):
1129
1155
  imports = extractor.extract_imports(parse_result.tree, source_code)
1130
1156
  log_debug(f"Java Plugin: Found {len(imports)} imports")
1131
1157
  else:
1158
+ packages = []
1132
1159
  functions = []
1133
1160
  classes = []
1134
1161
  variables = []
@@ -1136,6 +1163,7 @@ class JavaPlugin(LanguagePlugin):
1136
1163
 
1137
1164
  # Combine all elements
1138
1165
  all_elements: list[CodeElement] = []
1166
+ all_elements.extend(packages)
1139
1167
  all_elements.extend(functions)
1140
1168
  all_elements.extend(classes)
1141
1169
  all_elements.extend(variables)
@@ -1496,7 +1496,7 @@ wheels = [
1496
1496
 
1497
1497
  [[package]]
1498
1498
  name = "tree-sitter-analyzer"
1499
- version = "0.6.0"
1499
+ version = "0.6.2"
1500
1500
  source = { editable = "." }
1501
1501
  dependencies = [
1502
1502
  { name = "cachetools" },
@@ -1,178 +0,0 @@
1
- #!/usr/bin/env python3
2
- """
3
- Release Verification Script
4
- Verifies that the v0.6.0 release is working correctly
5
- """
6
-
7
- import subprocess
8
- import sys
9
- import tempfile
10
- from pathlib import Path
11
-
12
-
13
- def run_command(cmd, description):
14
- """Run a command and return success status"""
15
- print(f"\n🔍 {description}")
16
- print(f"Command: {' '.join(cmd)}")
17
-
18
- try:
19
- result = subprocess.run(
20
- cmd,
21
- capture_output=True,
22
- text=True,
23
- check=True
24
- )
25
- print(f"✅ Success: {description}")
26
- if result.stdout.strip():
27
- print(f"Output: {result.stdout.strip()[:200]}...")
28
- return True
29
- except subprocess.CalledProcessError as e:
30
- print(f"❌ Failed: {description}")
31
- print(f"Error: {e.stderr.strip()}")
32
- return False
33
-
34
-
35
- def test_local_installation():
36
- """Test installation from local wheel file"""
37
- print("\n" + "="*60)
38
- print("🧪 TESTING LOCAL INSTALLATION")
39
- print("="*60)
40
-
41
- wheel_file = Path("dist/tree_sitter_analyzer-0.6.0-py3-none-any.whl")
42
- if not wheel_file.exists():
43
- print(f"❌ Wheel file not found: {wheel_file}")
44
- return False
45
-
46
- # Test installation in isolated environment
47
- success = run_command([
48
- "uv", "run", "--isolated",
49
- "--with", str(wheel_file),
50
- "--with", "tree-sitter-java",
51
- "python", "-c",
52
- """
53
- import tree_sitter_analyzer
54
- print(f'Package version: {tree_sitter_analyzer.__version__ if hasattr(tree_sitter_analyzer, "__version__") else "unknown"}')
55
-
56
- # Test that CodeAnalyzer is NOT available (breaking change)
57
- try:
58
- from tree_sitter_analyzer import CodeAnalyzer
59
- print('❌ ERROR: CodeAnalyzer should not be available!')
60
- exit(1)
61
- except ImportError:
62
- print('✅ CodeAnalyzer correctly removed')
63
-
64
- # Test new API
65
- from tree_sitter_analyzer.core.analysis_engine import get_analysis_engine
66
- engine = get_analysis_engine()
67
- print('✅ New analysis engine works')
68
- """
69
- ], "Test local wheel installation and API changes")
70
-
71
- return success
72
-
73
-
74
- def test_cli_functionality():
75
- """Test CLI functionality"""
76
- print("\n" + "="*60)
77
- print("🧪 TESTING CLI FUNCTIONALITY")
78
- print("="*60)
79
-
80
- # Create a test Java file
81
- test_content = '''
82
- public class TestClass {
83
- private String name;
84
-
85
- public TestClass(String name) {
86
- this.name = name;
87
- }
88
-
89
- public String getName() {
90
- return name;
91
- }
92
- }
93
- '''
94
-
95
- with tempfile.NamedTemporaryFile(mode='w', suffix='.java', delete=False) as f:
96
- f.write(test_content)
97
- test_file = f.name
98
-
99
- try:
100
- # Test CLI with local wheel
101
- success = run_command([
102
- "uv", "run", "--isolated",
103
- "--with", "dist/tree_sitter_analyzer-0.6.0-py3-none-any.whl",
104
- "--with", "tree-sitter-java",
105
- "tree-sitter-analyzer", test_file, "--advanced"
106
- ], "Test CLI functionality with local wheel")
107
-
108
- return success
109
- finally:
110
- Path(test_file).unlink(missing_ok=True)
111
-
112
-
113
- def test_pypi_installation():
114
- """Test installation from PyPI (if available)"""
115
- print("\n" + "="*60)
116
- print("🧪 TESTING PYPI INSTALLATION")
117
- print("="*60)
118
-
119
- # Test if package is available on PyPI
120
- success = run_command([
121
- "uv", "run", "--isolated",
122
- "--with", "tree-sitter-analyzer==0.6.0",
123
- "python", "-c",
124
- """
125
- import tree_sitter_analyzer
126
- print('✅ Successfully installed from PyPI')
127
-
128
- # Test that CodeAnalyzer is NOT available
129
- try:
130
- from tree_sitter_analyzer import CodeAnalyzer
131
- print('❌ ERROR: CodeAnalyzer should not be available!')
132
- exit(1)
133
- except ImportError:
134
- print('✅ CodeAnalyzer correctly removed from PyPI package')
135
- """
136
- ], "Test PyPI installation")
137
-
138
- return success
139
-
140
-
141
- def main():
142
- """Main verification function"""
143
- print("🚀 Tree-sitter Analyzer v0.6.0 Release Verification")
144
- print("="*60)
145
-
146
- results = []
147
-
148
- # Test local installation
149
- results.append(("Local Installation", test_local_installation()))
150
-
151
- # Test CLI functionality
152
- results.append(("CLI Functionality", test_cli_functionality()))
153
-
154
- # Test PyPI installation (may fail if not yet published)
155
- results.append(("PyPI Installation", test_pypi_installation()))
156
-
157
- # Summary
158
- print("\n" + "="*60)
159
- print("📊 VERIFICATION SUMMARY")
160
- print("="*60)
161
-
162
- all_passed = True
163
- for test_name, passed in results:
164
- status = "✅ PASS" if passed else "❌ FAIL"
165
- print(f"{test_name:20} {status}")
166
- if not passed:
167
- all_passed = False
168
-
169
- print("\n" + "="*60)
170
- if all_passed:
171
- print("🎉 ALL TESTS PASSED! Release v0.6.0 is ready!")
172
- else:
173
- print("⚠️ Some tests failed. Please review the issues above.")
174
- sys.exit(1)
175
-
176
-
177
- if __name__ == "__main__":
178
- main()