Skip to content

Commit 00dba43

Browse files
committed
Fixing test errors
1 parent 2eded44 commit 00dba43

File tree

5 files changed

+24
-17
lines changed

5 files changed

+24
-17
lines changed

crates/diff-engine/src/changes.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
//! tree edit distance and similarity scoring algorithms.
66
77
use crate::tree_edit::{TreeEditDistance, ZhangShashaConfig};
8-
use crate::similarity_scorer::{SimilarityScorer, ComprehensiveSimilarityScore};
8+
use crate::similarity_scorer::{SimilarityScorer, SimilarityScoringConfig, ComprehensiveSimilarityScore};
99
use smart_diff_parser::{ChangeType, CodeElement, ASTNode, Language};
1010
use smart_diff_semantic::EnhancedFunctionSignature;
1111
use serde::{Serialize, Deserialize};
@@ -229,7 +229,7 @@ impl ChangeClassifier {
229229
Self {
230230
config: ChangeClassificationConfig::default(),
231231
tree_edit_distance: TreeEditDistance::with_defaults(),
232-
similarity_scorer: Some(SimilarityScorer::new(language)),
232+
similarity_scorer: Some(SimilarityScorer::new(language, SimilarityScoringConfig::default())),
233233
language,
234234
}
235235
}
@@ -246,7 +246,7 @@ impl ChangeClassifier {
246246
Self {
247247
config,
248248
tree_edit_distance: TreeEditDistance::new(tree_config),
249-
similarity_scorer: Some(SimilarityScorer::new(language)),
249+
similarity_scorer: Some(SimilarityScorer::new(language, SimilarityScoringConfig::default())),
250250
language,
251251
}
252252
}
@@ -1119,7 +1119,7 @@ impl ChangeClassifier {
11191119
/// Enable or disable semantic analysis
11201120
pub fn set_semantic_analysis(&mut self, enabled: bool) {
11211121
if enabled && self.similarity_scorer.is_none() {
1122-
self.similarity_scorer = Some(SimilarityScorer::new(self.language));
1122+
self.similarity_scorer = Some(SimilarityScorer::new(self.language, SimilarityScoringConfig::default()));
11231123
} else if !enabled {
11241124
self.similarity_scorer = None;
11251125
}

crates/diff-engine/src/engine.rs

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
//! Main diff engine
22
3-
use crate::changes::ChangeClassifier;
3+
use crate::changes::{ChangeClassifier, ChangeClassificationConfig};
44
use crate::matching::FunctionMatcher;
55
use crate::refactoring::RefactoringDetector;
6-
use crate::tree_edit::{EditCost, TreeEditDistance};
6+
use crate::similarity_scorer::SimilarityScoringConfig;
7+
use crate::tree_edit::{TreeEditDistance, ZhangShashaConfig};
78
use serde::{Deserialize, Serialize};
8-
use smart_diff_parser::{Function, MatchResult};
9+
use smart_diff_parser::{Function, MatchResult, Language};
910
use thiserror::Error;
1011

1112
/// Main diff engine that orchestrates the comparison process
@@ -59,11 +60,12 @@ impl Default for DiffEngine {
5960

6061
impl DiffEngine {
6162
pub fn new() -> Self {
63+
let language = Language::Unknown; // Default language, should be configurable
6264
Self {
6365
function_matcher: FunctionMatcher::new(0.7),
64-
tree_edit_distance: TreeEditDistance::new(EditCost::default()),
65-
change_classifier: ChangeClassifier,
66-
refactoring_detector: RefactoringDetector::new(),
66+
tree_edit_distance: TreeEditDistance::new(ZhangShashaConfig::default()),
67+
change_classifier: ChangeClassifier::new(language, ChangeClassificationConfig::default()),
68+
refactoring_detector: RefactoringDetector::new(language),
6769
}
6870
}
6971

crates/diff-engine/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ pub use tree_edit::{
4545
};
4646
pub use smart_diff_parser::MatchResult;
4747
pub use smart_diff_parser::{Change, ChangeType};
48-
pub use tree_edit::{EditCost, EditOperation, TreeEditDistance};
4948

5049
/// Re-export commonly used types
5150
pub type Result<T> = std::result::Result<T, DiffError>;

crates/diff-engine/src/refactoring.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
//! integration with change classification and similarity analysis.
66
77
use crate::changes::{ChangeClassifier, DetailedChangeClassification};
8-
use crate::similarity_scorer::{SimilarityScorer, ComprehensiveSimilarityScore};
8+
use crate::similarity_scorer::{SimilarityScorer, SimilarityScoringConfig, ComprehensiveSimilarityScore};
99
use smart_diff_parser::{Change, RefactoringType, ChangeType, CodeElement, ASTNode, Language};
1010
use smart_diff_semantic::EnhancedFunctionSignature;
1111
use serde::{Deserialize, Serialize};
@@ -293,7 +293,7 @@ impl RefactoringDetector {
293293
Self {
294294
config: RefactoringDetectionConfig::default(),
295295
change_classifier: Some(ChangeClassifier::new(language)),
296-
similarity_scorer: Some(SimilarityScorer::new(language)),
296+
similarity_scorer: Some(SimilarityScorer::new(language, SimilarityScoringConfig::default())),
297297
language,
298298
}
299299
}
@@ -303,7 +303,7 @@ impl RefactoringDetector {
303303
Self {
304304
config,
305305
change_classifier: Some(ChangeClassifier::new(language)),
306-
similarity_scorer: Some(SimilarityScorer::new(language)),
306+
similarity_scorer: Some(SimilarityScorer::new(language, SimilarityScoringConfig::default())),
307307
language,
308308
}
309309
}
@@ -1952,7 +1952,7 @@ impl RefactoringDetector {
19521952
/// Enable or disable similarity scorer
19531953
pub fn set_similarity_scorer(&mut self, enabled: bool) {
19541954
if enabled && self.similarity_scorer.is_none() {
1955-
self.similarity_scorer = Some(SimilarityScorer::new(self.language));
1955+
self.similarity_scorer = Some(SimilarityScorer::new(self.language, SimilarityScoringConfig::default()));
19561956
} else if !enabled {
19571957
self.similarity_scorer = None;
19581958
}

crates/diff-engine/src/similarity_scorer.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//! Comprehensive similarity scoring algorithm for code comparison
22
3-
use crate::tree_edit::{EditCost, TreeEditDistance};
3+
use crate::tree_edit::{EditCost, TreeEditDistance, ZhangShashaConfig};
44
use anyhow::Result;
55
use serde::{Deserialize, Serialize};
66
use smart_diff_parser::{ASTNode, Language, NodeType};
@@ -198,7 +198,13 @@ struct ContextInfo {
198198
impl SimilarityScorer {
199199
pub fn new(language: Language, config: SimilarityScoringConfig) -> Self {
200200
let signature_extractor = FunctionSignatureExtractor::with_defaults(language);
201-
let tree_edit_calculator = TreeEditDistance::new(config.edit_costs.clone());
201+
let zhang_shasha_config = ZhangShashaConfig {
202+
insert_cost: config.edit_costs.insert,
203+
delete_cost: config.edit_costs.delete,
204+
update_cost: config.edit_costs.update,
205+
..Default::default()
206+
};
207+
let tree_edit_calculator = TreeEditDistance::new(zhang_shasha_config);
202208

203209
Self {
204210
config,

0 commit comments

Comments
 (0)