@sun-asterisk/sunlint
Version:
☀️ SunLint - Multi-language static analysis tool for code quality and security | Sun* Engineering Standards
54 lines (47 loc) • 1.09 kB
JavaScript
/**
* C002 Dart Analyzer - No Duplicate Code (> 10 lines)
*
* This is a JS wrapper that delegates to DartAnalyzer binary.
* Actual implementation: dart_analyzer/lib/rules/duplicate_code_analyzer.dart
*
* Rule: Không để trùng lặp code > 10 dòng
*/
class DartC002Analyzer {
constructor() {
this.ruleId = 'C002';
this.language = 'dart';
}
/**
* Get rule metadata
*/
getMetadata() {
return {
ruleId: 'C002',
name: 'No Duplicate Code',
language: 'dart',
delegateTo: 'dart_analyzer',
description: 'Detect duplicate code blocks > 10 lines'
};
}
/**
* Get default configuration
*/
getConfig() {
return {
minLines: 10,
similarityThreshold: 0.95,
severity: 'warning'
};
}
/**
* Analysis is delegated to DartAnalyzer via heuristic-engine.js
*/
async analyze(files, language, options) {
// Delegated to DartAnalyzer binary via heuristic-engine.js
return [];
}
supportsLanguage(language) {
return language === 'dart';
}
}
module.exports = DartC002Analyzer;