tree-sitter-analyzer 0.4.0__tar.gz → 0.6.1__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.
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/CHANGELOG.md +150 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/CODE_STYLE_GUIDE.md +13 -12
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/DEPLOYMENT_GUIDE.md +278 -278
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/PKG-INFO +10 -10
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/README.md +8 -8
- tree_sitter_analyzer-0.6.1/README_ja.md +214 -0
- tree_sitter_analyzer-0.6.1/README_zh.md +214 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/build_standalone.py +136 -136
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/BigService.java +102 -103
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/BigService.json +3 -3
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/BigService.summary.json +3 -3
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/Sample.java +36 -36
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/calculate_token_comparison.py +76 -70
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/pyproject.toml +2 -2
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/__init__.py +1 -3
- tree_sitter_analyzer-0.6.1/tree_sitter_analyzer/__main__.py +11 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/default_command.py +1 -1
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/query_command.py +5 -5
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/table_command.py +3 -3
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/info_commands.py +14 -13
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli_main.py +49 -30
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/core/analysis_engine.py +21 -21
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/core/cache_service.py +31 -31
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/core/query.py +502 -502
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/encoding_utils.py +5 -2
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/file_handler.py +3 -3
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/formatters/base_formatter.py +18 -18
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/formatters/formatter_factory.py +15 -15
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/formatters/java_formatter.py +291 -291
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/formatters/python_formatter.py +259 -259
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/interfaces/cli_adapter.py +32 -32
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/interfaces/mcp_adapter.py +2 -2
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/language_detector.py +398 -398
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/language_loader.py +224 -224
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/languages/java_plugin.py +1174 -1174
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/languages/python_plugin.py +10 -2
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/resources/project_stats_resource.py +555 -555
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/models.py +470 -470
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/output_manager.py +8 -10
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/plugins/base.py +33 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/queries/java.py +78 -78
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/queries/javascript.py +7 -7
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/queries/python.py +18 -18
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/queries/typescript.py +12 -12
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/query_loader.py +13 -13
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/table_formatter.py +20 -18
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/utils.py +1 -1
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/upload_to_pypi.py +13 -13
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/uv.lock +135 -108
- tree_sitter_analyzer-0.6.1/verify_release.py +178 -0
- tree_sitter_analyzer-0.4.0/tree_sitter_analyzer/__main__.py +0 -11
- tree_sitter_analyzer-0.4.0/tree_sitter_analyzer/java_analyzer.py +0 -187
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/.gitignore +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/.pre-commit-config.yaml +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/AI_COLLABORATION_GUIDE.md +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/CONTRIBUTING.md +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/LLM_CODING_GUIDELINES.md +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/MCP_SETUP_DEVELOPERS.md +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/MCP_SETUP_USERS.md +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/check_quality.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/docs/api.md +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/JavaDocTest.java +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/MultiClass.java +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/examples/sample.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/llm_code_checker.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/pytest.ini +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/api.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/__main__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/advanced_command.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/base_command.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/partial_read_command.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/structure_command.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/cli/commands/summary_command.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/core/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/core/engine.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/core/parser.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/exceptions.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/formatters/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/interfaces/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/interfaces/cli.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/interfaces/mcp_server.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/languages/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/languages/javascript_plugin.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/resources/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/resources/code_file_resource.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/server.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/analyze_scale_tool_cli_compatible.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/base_tool.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/read_partial_tool.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/table_format_tool.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/tools/universal_analyze_tool.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/utils/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/mcp/utils/error_handler.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/plugins/__init__.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/plugins/manager.py +0 -0
- {tree_sitter_analyzer-0.4.0 → tree_sitter_analyzer-0.6.1}/tree_sitter_analyzer/queries/__init__.py +0 -0
|
@@ -5,6 +5,156 @@ 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.1] - 2025-08-04
|
|
9
|
+
|
|
10
|
+
### 🔧 Fixed
|
|
11
|
+
|
|
12
|
+
#### Documentation
|
|
13
|
+
- **Fixed**: Updated all GitHub URLs from `aisheng-yu` to `aimasteracc` in README files
|
|
14
|
+
- **Fixed**: Corrected clone URLs in installation instructions
|
|
15
|
+
- **Fixed**: Updated documentation links to point to correct repository
|
|
16
|
+
- **Fixed**: Fixed contribution guide links in all language versions
|
|
17
|
+
|
|
18
|
+
#### Files Updated
|
|
19
|
+
- `README.md` - English documentation
|
|
20
|
+
- `README_zh.md` - Chinese documentation
|
|
21
|
+
- `README_ja.md` - Japanese documentation
|
|
22
|
+
|
|
23
|
+
### 📦 Package Updates
|
|
24
|
+
|
|
25
|
+
- **Updated**: Package metadata now includes correct repository URLs
|
|
26
|
+
- **Updated**: All documentation links point to the correct GitHub repository
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## [0.6.0] - 2025-08-03
|
|
31
|
+
|
|
32
|
+
### 💥 Breaking Changes - Legacy Code Removal
|
|
33
|
+
|
|
34
|
+
This release removes deprecated legacy code to streamline the codebase and improve maintainability.
|
|
35
|
+
|
|
36
|
+
### 🗑️ Removed
|
|
37
|
+
|
|
38
|
+
#### Legacy Components
|
|
39
|
+
- **BREAKING**: Removed `java_analyzer.py` module and `CodeAnalyzer` class
|
|
40
|
+
- **BREAKING**: Removed legacy test files (`test_java_analyzer.py`, `test_java_analyzer_extended.py`)
|
|
41
|
+
- **BREAKING**: Removed `CodeAnalyzer` from public API exports
|
|
42
|
+
|
|
43
|
+
#### Migration Guide
|
|
44
|
+
Users previously using the legacy `CodeAnalyzer` should migrate to the new plugin system:
|
|
45
|
+
|
|
46
|
+
**Old Code (No longer works):**
|
|
47
|
+
```python
|
|
48
|
+
from tree_sitter_analyzer import CodeAnalyzer
|
|
49
|
+
analyzer = CodeAnalyzer()
|
|
50
|
+
result = analyzer.analyze_file("file.java")
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**New Code:**
|
|
54
|
+
```python
|
|
55
|
+
from tree_sitter_analyzer.core.analysis_engine import get_analysis_engine
|
|
56
|
+
engine = get_analysis_engine()
|
|
57
|
+
result = await engine.analyze_file("file.java")
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Or use the CLI:**
|
|
61
|
+
```bash
|
|
62
|
+
tree-sitter-analyzer file.java --advanced
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 🔄 Changed
|
|
66
|
+
|
|
67
|
+
#### Test Suite
|
|
68
|
+
- **Updated**: Test count reduced from 1216 to 1126 tests (removed 29 legacy tests)
|
|
69
|
+
- **Updated**: All README files updated with new test count
|
|
70
|
+
- **Updated**: Documentation examples updated to use new plugin system
|
|
71
|
+
|
|
72
|
+
#### Documentation
|
|
73
|
+
- **Updated**: `CODE_STYLE_GUIDE.md` examples updated to use new plugin system
|
|
74
|
+
- **Updated**: All language-specific README files updated
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### ✅ Benefits
|
|
79
|
+
|
|
80
|
+
- **Cleaner Codebase**: Removed duplicate functionality and legacy code
|
|
81
|
+
- **Reduced Maintenance**: No longer maintaining two separate analysis systems
|
|
82
|
+
- **Unified Experience**: All users now use the modern plugin system
|
|
83
|
+
- **Better Performance**: New plugin system is more efficient and feature-rich
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## [0.5.0] - 2025-08-03
|
|
88
|
+
|
|
89
|
+
### 🌐 Complete Internationalization Release
|
|
90
|
+
|
|
91
|
+
This release celebrates the completion of comprehensive internationalization support, making Tree-sitter Analyzer accessible to a global audience.
|
|
92
|
+
|
|
93
|
+
### ✨ Added
|
|
94
|
+
|
|
95
|
+
#### 🌍 Internationalization Support
|
|
96
|
+
- **NEW**: Complete internationalization framework implementation
|
|
97
|
+
- **NEW**: Chinese (Simplified) README ([README_zh.md](README_zh.md))
|
|
98
|
+
- **NEW**: Japanese README ([README_ja.md](README_ja.md))
|
|
99
|
+
- **NEW**: Full URL links for PyPI compatibility and better accessibility
|
|
100
|
+
- **NEW**: Multi-language documentation support structure
|
|
101
|
+
|
|
102
|
+
#### 📚 Documentation Enhancements
|
|
103
|
+
- **NEW**: Comprehensive language-specific documentation
|
|
104
|
+
- **NEW**: International user guides and examples
|
|
105
|
+
- **NEW**: Cross-language code examples and usage patterns
|
|
106
|
+
- **NEW**: Global accessibility improvements
|
|
107
|
+
|
|
108
|
+
### 🔄 Changed
|
|
109
|
+
|
|
110
|
+
#### 🌐 Language Standardization
|
|
111
|
+
- **ENHANCED**: All Japanese and Chinese text translated to English for consistency
|
|
112
|
+
- **ENHANCED**: CLI messages, error messages, and help text now in English
|
|
113
|
+
- **ENHANCED**: Query descriptions and comments translated to English
|
|
114
|
+
- **ENHANCED**: Code examples and documentation translated to English
|
|
115
|
+
- **ENHANCED**: Improved code quality and consistency across all modules
|
|
116
|
+
|
|
117
|
+
#### 🔗 Link Improvements
|
|
118
|
+
- **ENHANCED**: Relative links converted to absolute URLs for PyPI compatibility
|
|
119
|
+
- **ENHANCED**: Better cross-platform documentation accessibility
|
|
120
|
+
- **ENHANCED**: Improved navigation between different language versions
|
|
121
|
+
|
|
122
|
+
### 🔧 Fixed
|
|
123
|
+
|
|
124
|
+
#### 🐛 Quality & Compatibility Issues
|
|
125
|
+
- **FIXED**: Multiple test failures and compatibility issues resolved
|
|
126
|
+
- **FIXED**: Plugin architecture improvements and stability enhancements
|
|
127
|
+
- **FIXED**: Code formatting and linting issues across the codebase
|
|
128
|
+
- **FIXED**: Documentation consistency and formatting improvements
|
|
129
|
+
|
|
130
|
+
#### 🧪 Testing & Validation
|
|
131
|
+
- **FIXED**: Enhanced test coverage and reliability
|
|
132
|
+
- **FIXED**: Cross-language compatibility validation
|
|
133
|
+
- **FIXED**: Documentation link validation and accessibility
|
|
134
|
+
|
|
135
|
+
### 📊 Technical Achievements
|
|
136
|
+
|
|
137
|
+
#### 🎯 Translation Metrics
|
|
138
|
+
- **COMPLETED**: 368 translation targets successfully processed
|
|
139
|
+
- **ACHIEVED**: 100% English language consistency across codebase
|
|
140
|
+
- **VALIDATED**: All documentation links and references updated
|
|
141
|
+
|
|
142
|
+
#### ✅ Quality Metrics
|
|
143
|
+
- **PASSING**: 222 tests with improved coverage and stability
|
|
144
|
+
- **ACHIEVED**: 4/4 quality checks passing (Ruff, Black, MyPy, Tests)
|
|
145
|
+
- **ENHANCED**: Plugin system compatibility and reliability
|
|
146
|
+
- **IMPROVED**: Code maintainability and international accessibility
|
|
147
|
+
|
|
148
|
+
### 🌟 Impact
|
|
149
|
+
|
|
150
|
+
This release establishes Tree-sitter Analyzer as a **truly international, accessible tool** that serves developers worldwide while maintaining the highest standards of code quality and documentation excellence.
|
|
151
|
+
|
|
152
|
+
**Key Benefits:**
|
|
153
|
+
- 🌍 **Global Accessibility**: Multi-language documentation for international users
|
|
154
|
+
- 🔧 **Enhanced Quality**: Improved code consistency and maintainability
|
|
155
|
+
- 📚 **Better Documentation**: Comprehensive guides in multiple languages
|
|
156
|
+
- 🚀 **PyPI Ready**: Optimized for package distribution and discovery
|
|
157
|
+
|
|
8
158
|
## [0.4.0] - 2025-08-02
|
|
9
159
|
|
|
10
160
|
### 🎯 Perfect Type Safety & Architecture Unification Release
|
|
@@ -76,11 +76,11 @@ def analyze_file(file_path: str, language: Optional[str] = None) -> AnalysisResu
|
|
|
76
76
|
"""Analyze a code file and return results."""
|
|
77
77
|
pass
|
|
78
78
|
|
|
79
|
-
class
|
|
79
|
+
class JavaElementExtractor:
|
|
80
80
|
def __init__(self, config: Dict[str, Any]) -> None:
|
|
81
81
|
self.config = config
|
|
82
|
-
|
|
83
|
-
def
|
|
82
|
+
|
|
83
|
+
def extract_functions(self, tree: Tree, source_code: str) -> List[Function]:
|
|
84
84
|
return []
|
|
85
85
|
```
|
|
86
86
|
|
|
@@ -133,18 +133,19 @@ def extract_functions(source_code: str, language: str) -> List[Function]:
|
|
|
133
133
|
### Test Structure
|
|
134
134
|
|
|
135
135
|
```python
|
|
136
|
-
class
|
|
137
|
-
"""Test suite for
|
|
138
|
-
|
|
139
|
-
def test_analyze_java_file_success(self):
|
|
140
|
-
"""Test successful analysis of Java file."""
|
|
136
|
+
class TestJavaPlugin:
|
|
137
|
+
"""Test suite for Java plugin analysis."""
|
|
138
|
+
|
|
139
|
+
async def test_analyze_java_file_success(self):
|
|
140
|
+
"""Test successful analysis of Java file using new plugin system."""
|
|
141
141
|
# Arrange
|
|
142
|
-
|
|
142
|
+
from tree_sitter_analyzer.core.analysis_engine import get_analysis_engine
|
|
143
|
+
engine = get_analysis_engine()
|
|
143
144
|
file_path = "examples/Sample.java"
|
|
144
|
-
|
|
145
|
+
|
|
145
146
|
# Act
|
|
146
|
-
result =
|
|
147
|
-
|
|
147
|
+
result = await engine.analyze_file(file_path)
|
|
148
|
+
|
|
148
149
|
# Assert
|
|
149
150
|
assert result is not None
|
|
150
151
|
assert result.language == "java"
|