<div dir="ltr">Hi all,<div><br></div><div>Consider the following snippet of C++ code:<br><div><br></div><div><div>  class Const {</div><div>  public:</div><div>      void foo(int x, int y) const;</div><div>      void foo(Const &x) const;</div><div>  };</div><div><br></div><div>  void Const::</div></div><div><br></div><div>If we invoke Clang's code-completion after '::', Clang will produce the following results for the out-of-line method declarations:</div><div><br></div><div><div>  COMPLETION: foo : [#void#]foo(<#int x#>, <#int y#>)[# const#] </div><div>  COMPLETION: foo : [#void#]foo(<#Const &x#>)[# const#]</div></div><div><br></div><div>The weird <##> tokens mean that currently method parameters are specified as completion placeholders. This means that a user might have to expand them manually (e.g. when their IDE treats those placeholders differently from the rest of the completion result).</div><div><br></div><div>I would like to change these completion results. Instead of having placeholders for parameters Clang should just specify the parameters directly. The example above would then produce the following completion results:</div><div><br></div><div><div>  COMPLETION: foo : [#void#]foo(int x, int y)[# const#]</div><div>  COMPLETION: foo : [#void#]foo(Const &x)[# const#]</div></div><div><br></div><div>Do you have any comments/suggestions/objections for this proposal?</div><div>Cheers,</div><div>Alex </div></div><div><br></div><div>PS: Please note that this change is not going to affect completions for the method calls, but just for the out-of-line method definitions.</div></div>