usaxena95 created this revision.
usaxena95 added a reviewer: adamcz.
Herald added subscribers: cfe-commits, kadircet, arphaman.
Herald added a project: clang.
usaxena95 requested review of this revision.
Herald added subscribers: MaskRay, ilya-biryukov.

Unreachable file distances are represented as
`std::numeric_limits<unsigned>::max()`.
The dataset recorded the signals as signed int capturing this default
value as `-1`.
The dataset needs to regenerated and a new model is required that
interprets this unreachable as the intended value.

This temporarily fixes this by interpreting unreachable distance as `-1`
and would be removed once we have the correct model.

One can look of these occurrences by searching for `-0.5` in
clang-tools-extra/clangd/quality/model/forest.json.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D88985

Files:
  clang-tools-extra/clangd/Quality.cpp


Index: clang-tools-extra/clangd/Quality.cpp
===================================================================
--- clang-tools-extra/clangd/Quality.cpp
+++ clang-tools-extra/clangd/Quality.cpp
@@ -502,8 +502,17 @@
   E.setIsForbidden(Relevance.Forbidden);
   E.setIsInBaseClass(Relevance.InBaseClass);
   E.setFileProximityDistance(Derived.FileProximityDistance);
+  // FIXME(usx): Remove interpretation of Unreachable distance as -1 once we
+  // have a new model.
+  E.setFileProximityDistance(Derived.FileProximityDistance ==
+                                     FileDistance::Unreachable
+                                 ? -1
+                                 : Derived.FileProximityDistance);
   E.setSemaFileProximityScore(Relevance.SemaFileProximityScore);
-  E.setSymbolScopeDistance(Derived.ScopeProximityDistance);
+  E.setSymbolScopeDistance(Derived.ScopeProximityDistance ==
+                                   FileDistance::Unreachable
+                               ? -1
+                               : Derived.ScopeProximityDistance);
   E.setSemaSaysInScope(Relevance.SemaSaysInScope);
   E.setScope(Relevance.Scope);
   E.setContextKind(Relevance.Context);


Index: clang-tools-extra/clangd/Quality.cpp
===================================================================
--- clang-tools-extra/clangd/Quality.cpp
+++ clang-tools-extra/clangd/Quality.cpp
@@ -502,8 +502,17 @@
   E.setIsForbidden(Relevance.Forbidden);
   E.setIsInBaseClass(Relevance.InBaseClass);
   E.setFileProximityDistance(Derived.FileProximityDistance);
+  // FIXME(usx): Remove interpretation of Unreachable distance as -1 once we
+  // have a new model.
+  E.setFileProximityDistance(Derived.FileProximityDistance ==
+                                     FileDistance::Unreachable
+                                 ? -1
+                                 : Derived.FileProximityDistance);
   E.setSemaFileProximityScore(Relevance.SemaFileProximityScore);
-  E.setSymbolScopeDistance(Derived.ScopeProximityDistance);
+  E.setSymbolScopeDistance(Derived.ScopeProximityDistance ==
+                                   FileDistance::Unreachable
+                               ? -1
+                               : Derived.ScopeProximityDistance);
   E.setSemaSaysInScope(Relevance.SemaSaysInScope);
   E.setScope(Relevance.Scope);
   E.setContextKind(Relevance.Context);
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to