| from .refactor_engine import RefactorEngine | |
| from .bug_detector import BugDetector | |
| from .code_converter import CodeConverter | |
| from .patch_generator import PatchGenerator | |
| from .tokenizer import get_tokenizer | |
| from .model import SmallCodeTransformer | |
| class InferencePipeline: | |
| def __init__(self): | |
| self.refactor=RefactorEngine() | |
| self.bugs=BugDetector() | |
| self.convert_engine=CodeConverter() | |
| self.patch=PatchGenerator() | |
| self.tokenizer=get_tokenizer() | |
| self.model=SmallCodeTransformer(vocab_size=self.tokenizer.vocab_size) | |
| def analyze_and_refactor(self,code,lang): | |
| issues=self.bugs.analyze(code,lang) | |
| ref=self.refactor.refactor(code,lang) | |
| diff=self.patch.unified_diff(code,ref,f"code.{lang}") | |
| return {'issues':issues,'refactored':ref,'diff':diff} | |
| def convert(self,code,src,tgt): | |
| return {'converted':self.convert_engine.convert(code,src,tgt)} | |