From d14ad6727a3c3231441db80cf3da94224a4e2416 Mon Sep 17 00:00:00 2001 From: whitequark Date: Tue, 24 Nov 2015 17:50:46 +0800 Subject: [PATCH] compiler.embedding: avoid showing wildly incorrect suggestions. --- artiq/compiler/embedding.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/artiq/compiler/embedding.py b/artiq/compiler/embedding.py index 309aeb598..ebac15754 100644 --- a/artiq/compiler/embedding.py +++ b/artiq/compiler/embedding.py @@ -11,7 +11,7 @@ from collections import OrderedDict, defaultdict from pythonparser import ast, algorithm, source, diagnostic, parse_buffer from pythonparser import lexer as source_lexer, parser as source_parser -from Levenshtein import jaro_winkler +from Levenshtein import ratio as similarity, jaro_winkler from ..language import core as language_core from . import types, builtins, asttyped, prelude @@ -211,7 +211,7 @@ class ASTSynthesizer: def suggest_identifier(id, names): sorted_names = sorted(names, key=lambda other: jaro_winkler(id, other), reverse=True) if len(sorted_names) > 0: - if jaro_winkler(id, sorted_names[0]) > 0.0: + if jaro_winkler(id, sorted_names[0]) > 0.0 and similarity(id, sorted_names[0]) > 0.5: return sorted_names[0] class StitchingASTTypedRewriter(ASTTypedRewriter):