usaxena95 updated this revision to Diff 316969. usaxena95 added a comment. Addressed comments.
Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94697/new/ https://reviews.llvm.org/D94697 Files: clang-tools-extra/clangd/Quality.cpp clang-tools-extra/clangd/quality/model/features.json clang-tools-extra/clangd/quality/model/forest.json
Index: clang-tools-extra/clangd/quality/model/features.json =================================================================== --- clang-tools-extra/clangd/quality/model/features.json +++ clang-tools-extra/clangd/quality/model/features.json @@ -1,8 +1,4 @@ [ - { - "name": "FilterLength", - "kind": "NUMBER" - }, { "name": "IsDeprecated", "kind": "NUMBER" @@ -20,11 +16,15 @@ "kind": "NUMBER" }, { - "name": "IsNameInContext", + "name": "NumNameInContext", "kind": "NUMBER" }, { - "name": "IsForbidden", + "name": "FractionNameInContext", + "kind": "NUMBER" + }, + { + "name": "IsNameInContext", "kind": "NUMBER" }, { @@ -32,7 +32,7 @@ "kind": "NUMBER" }, { - "name": "FileProximityDistance", + "name": "FileProximityDistanceCost", "kind": "NUMBER" }, { @@ -40,7 +40,7 @@ "kind": "NUMBER" }, { - "name": "SymbolScopeDistance", + "name": "SymbolScopeDistanceCost", "kind": "NUMBER" }, { @@ -81,4 +81,4 @@ "type": "clang::clangd::SymbolRelevanceSignals::AccessibleScope", "header": "Quality.h" } -] \ No newline at end of file +] Index: clang-tools-extra/clangd/Quality.cpp =================================================================== --- clang-tools-extra/clangd/Quality.cpp +++ clang-tools-extra/clangd/Quality.cpp @@ -501,12 +501,24 @@ SymbolRelevanceSignals::DerivedSignals Derived = Relevance.calculateDerivedSignals(); - E.setIsNameInContext(Derived.NameMatchesContext); - E.setIsForbidden(Relevance.Forbidden); + int NumMatch = 0; + if (Relevance.ContextWords) { + for (const auto &Word : Relevance.ContextWords->keys()) { + if (Relevance.Name.contains_lower(Word)) { + ++NumMatch; + } + } + } + E.setIsNameInContext(NumMatch > 0); + E.setNumNameInContext(NumMatch); + E.setFractionNameInContext( + Relevance.ContextWords && Relevance.ContextWords->size() > 0 + ? NumMatch * 1.0 / Relevance.ContextWords->size() + : 0); E.setIsInBaseClass(Relevance.InBaseClass); - E.setFileProximityDistance(Derived.FileProximityDistance); + E.setFileProximityDistanceCost(Derived.FileProximityDistance); E.setSemaFileProximityScore(Relevance.SemaFileProximityScore); - E.setSymbolScopeDistance(Derived.ScopeProximityDistance); + E.setSymbolScopeDistanceCost(Derived.ScopeProximityDistance); E.setSemaSaysInScope(Relevance.SemaSaysInScope); E.setScope(Relevance.Scope); E.setContextKind(Relevance.Context); @@ -514,7 +526,6 @@ E.setHadContextType(Relevance.HadContextType); E.setHadSymbolType(Relevance.HadSymbolType); E.setTypeMatchesPreferred(Relevance.TypeMatchesPreferred); - E.setFilterLength(Relevance.FilterLength); DecisionForestScores Scores; // Exponentiating DecisionForest prediction makes the score of each tree a @@ -525,6 +536,9 @@ // data that needs fixits is not-feasible. if (Relevance.NeedsFixIts) Scores.ExcludingName *= 0.5; + if (Relevance.Forbidden) + Scores.ExcludingName *= 0; + // NameMatch should be a multiplier on total score to support rescoring. Scores.Total = Relevance.NameMatch * Scores.ExcludingName; return Scores;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits