rwols marked 4 inline comments as done.
rwols added a comment.

There were some failing tests, probably because we use an extra digit for the 
`sortText` property now. I haven't touched those tests.



================
Comment at: clangd/ClangdUnit.cpp:610
+        ParameterInformation Info;
+        OptionalParameterLabel = getOptionalString(*Chunk.Optional);
+        Result.label += OptionalParameterLabel;
----------------
ilya-biryukov wrote:
> Are we first concatenating the `CodeCompletionString` inside optional chunks 
> and then trying to parse them again here?
> Can we extract `ProcessChunks` function and recursively call it with 
> `Chunk.Optional->Chunks`?
Yes, this was hokey. Fixed now (see the function `getOptionalParameters`)


================
Comment at: test/clangd/signature-help.test:39
+# I'm just putting the questionable result in here now as the expected result.
+# CHECK-DAG: {"label":"bar(float x = 0, int y = 42) -> 
void","parameters":[{"label":"float x = 0, int y = 42"}]}
+# 
----------------
ilya-biryukov wrote:
> rwols wrote:
> > When there are multiple defaulted parameters after each other, the 
> > CK_Optional chunk consists of *all* of those parameters, instead of a 
> > CK_Optional chunk per parameter. This might require us to dive into 
> > SemaCodeComplete.cpp to fix this. I'm just leaving it as-is right now.
> But does `CodeCompletionString` inside `Chunk->Optional` contain those extra 
> parameters as a separate chunk?
> 
Yes, they do. Thanks for the idea!


https://reviews.llvm.org/D38048



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to