hokein (Haojian Wu)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2015, 3:38 AM (161 w, 3 d)

Recent Activity

Fri, Sep 7

hokein accepted D51819: [clang-tidy/ObjC] Update list of acronyms in PropertyDeclarationCheck.

We need to update the documentation http://clang.llvm.org/extra/clang-tidy/checks/objc-property-declaration.html as well.

Fri, Sep 7, 2:59 PM

Wed, Sep 5

hokein committed rCTE341463: [clangd] Sort GoToDefinition results..
[clangd] Sort GoToDefinition results.
Wed, Sep 5, 5:04 AM
hokein committed rL341463: [clangd] Sort GoToDefinition results..
[clangd] Sort GoToDefinition results.
Wed, Sep 5, 5:04 AM
hokein closed D50438: [clangd] Sort GoToDefinition results..
Wed, Sep 5, 5:04 AM
hokein closed D50438: [clangd] Sort GoToDefinition results..
Wed, Sep 5, 5:04 AM
hokein updated the diff for D50438: [clangd] Sort GoToDefinition results..

Fix code style.

Wed, Sep 5, 4:47 AM
hokein accepted D50896: [clangd] Add xrefs LSP boilerplate implementation..

Thanks, LGTM, ship it!

Wed, Sep 5, 4:45 AM
hokein updated the diff for D50438: [clangd] Sort GoToDefinition results..

Rebase to master.

Wed, Sep 5, 4:45 AM

Tue, Sep 4

hokein added a comment to D50438: [clangd] Sort GoToDefinition results..

@hokein, would it be fine if I submit this change for you?
It would be nice to get this fix in before you get back from vacation.

Tue, Sep 4, 11:42 PM
hokein added inline comments to D51575: [clang-tidy] Implement a clang-tidy check to verify Google Objective-C function naming conventions 📜.
Tue, Sep 4, 12:29 PM · Restricted Project
hokein accepted D50958: [clangd] Implement findReferences function.

Thanks, looks good from my side.

Tue, Sep 4, 11:58 AM
hokein added a comment to D50958: [clangd] Implement findReferences function.

Looking forward to using this!

Unless you object, I'd like to address the remaining comments (and get a review), so you can make the most of your leave!

Tue, Sep 4, 5:25 AM
hokein accepted D51605: [clangd] SymbolOccurrences -> Refs and cleanup.

LGTM, thanks!

Tue, Sep 4, 4:55 AM
hokein added a comment to D51605: [clangd] SymbolOccurrences -> Refs and cleanup.

Thanks for cleaning it up! I admit that SymbolOccurrences is a loong name. A few nits.

Tue, Sep 4, 2:33 AM

Sun, Sep 2

hokein added a comment to D51575: [clang-tidy] Implement a clang-tidy check to verify Google Objective-C function naming conventions 📜.

Nice! looks mostly good to me.

Sun, Sep 2, 11:30 PM · Restricted Project
hokein updated the diff for D50958: [clangd] Implement findReferences function.

Rebase

Sun, Sep 2, 11:17 PM

Fri, Aug 31

hokein committed rL341242: [clangd] Implement findOccurrences interface in dynamic index..
[clangd] Implement findOccurrences interface in dynamic index.
Fri, Aug 31, 12:54 PM
hokein committed rCTE341242: [clangd] Implement findOccurrences interface in dynamic index..
[clangd] Implement findOccurrences interface in dynamic index.
Fri, Aug 31, 12:54 PM
hokein closed D51279: [clangd] Implement findOccurrences interface in dynamic index..
Fri, Aug 31, 12:54 PM
hokein updated the diff for D51279: [clangd] Implement findOccurrences interface in dynamic index..

address review comments:

  • build memindex with symbol slab and occurrence slab
  • remove withAllCode in TestTU
Fri, Aug 31, 8:39 AM
hokein added inline comments to D51279: [clangd] Implement findOccurrences interface in dynamic index..
Fri, Aug 31, 7:27 AM
hokein updated the diff for D51279: [clangd] Implement findOccurrences interface in dynamic index..

Minor cleanup.

Fri, Aug 31, 7:27 AM
hokein updated the diff for D51279: [clangd] Implement findOccurrences interface in dynamic index..
  • rebase
  • address review comments
Fri, Aug 31, 7:24 AM
hokein closed D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Committed in rL341208.

Fri, Aug 31, 5:56 AM
hokein committed rCTE341208: [clangd] Collect symbol occurrences in SymbolCollector..
[clangd] Collect symbol occurrences in SymbolCollector.
Fri, Aug 31, 5:55 AM
hokein committed rL341208: [clangd] Collect symbol occurrences in SymbolCollector..
[clangd] Collect symbol occurrences in SymbolCollector.
Fri, Aug 31, 5:55 AM
hokein added a comment to D51279: [clangd] Implement findOccurrences interface in dynamic index..

Sorry! Just realised I messed up this patch with D50385 (mostly SymbolCollector changes), all the comments about SymbolCollector are fixed in D50385.

Fri, Aug 31, 5:30 AM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Address review comments in D51279.

Fri, Aug 31, 5:25 AM
hokein closed D51061: [clang-tidy] abseil-str-cat-append.

Thanks @aaron.ballman. I'm closing it now as it is committed in rL340915.

Fri, Aug 31, 1:22 AM · Restricted Project
hokein accepted D51504: [clangd] Flatten out Symbol::Details. It was ill-conceived, sorry..

LGTM, note that this change will break our next internal integration.

Fri, Aug 31, 1:11 AM

Thu, Aug 30

hokein added a comment to D50438: [clangd] Sort GoToDefinition results..

Sorry, I just realized I didn't reply the comments in the first review (they were in my draft).

Thu, Aug 30, 5:45 AM
hokein updated the diff for D50438: [clangd] Sort GoToDefinition results..

Address review comments, return deterministic results.

Thu, Aug 30, 5:45 AM
hokein accepted D51360: [clang-tidy] Use simple string matching instead of Regex.

Ah, correct. I totally forgot about the ^string$ for the exact match.

This should not change behavior now. I believe what you propose would make the code easier (there'd only be AbseilLibraries = {"absl/algorithm", ...} and the final return std::any_of(..., [](...) { return Path.find(Library) != StringRef::npos; }); but the performance would be worse (because of the presence of the absl/ prefix in each entry). Would you consider this less efficient but easier-to-follow approach better?

Thu, Aug 30, 5:18 AM · Restricted Project
hokein added inline comments to D50958: [clangd] Implement findReferences function.
Thu, Aug 30, 2:16 AM
hokein retitled D50958: [clangd] Implement findReferences function from [clangd] WIP: xrefs for dynamic index. to [clangd] Implement findReferences function.
Thu, Aug 30, 2:15 AM
hokein updated the diff for D50958: [clangd] Implement findReferences function.
  • address review comments
  • rescope the patch only focus on findReferences implementation.
Thu, Aug 30, 2:12 AM

Wed, Aug 29

hokein added a comment to D51360: [clang-tidy] Use simple string matching instead of Regex.

Thanks very much for improving it!

Wed, Aug 29, 6:11 AM · Restricted Project
hokein added a comment to D51279: [clangd] Implement findOccurrences interface in dynamic index..

Thanks for the comments.

Wed, Aug 29, 6:02 AM
hokein updated the diff for D51279: [clangd] Implement findOccurrences interface in dynamic index..

Address review comments.

Wed, Aug 29, 6:01 AM
hokein updated the diff for D51279: [clangd] Implement findOccurrences interface in dynamic index..

Minor cleanup.

Wed, Aug 29, 6:01 AM
hokein accepted D50542: [clang-tidy] Add abseil-no-internal-deps check.

LGTM with a nit, thanks for your work.

Wed, Aug 29, 4:39 AM · Restricted Project

Tue, Aug 28

hokein added inline comments to D50542: [clang-tidy] Add abseil-no-internal-deps check.
Tue, Aug 28, 8:15 AM · Restricted Project
hokein added inline comments to D50385: [clangd] Collect symbol occurrences in SymbolCollector.
Tue, Aug 28, 7:25 AM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Minor cleanup.

Tue, Aug 28, 7:24 AM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Address review comments and fix code style.

Tue, Aug 28, 7:24 AM
hokein added a comment to D50542: [clang-tidy] Add abseil-no-internal-deps check.

Please rebase your patch, since the absl matcher patch is submitted. Thanks.

Tue, Aug 28, 12:52 AM · Restricted Project
hokein closed D50580: [clang-tidy] Abseil: no namespace check.

I have committed the patch for you, rL340800.

Tue, Aug 28, 12:50 AM · Restricted Project
hokein committed rCTE340800: [clang-tidy] Abseil: no namepsace check.
[clang-tidy] Abseil: no namepsace check
Tue, Aug 28, 12:49 AM
hokein committed rL340800: [clang-tidy] Abseil: no namepsace check.
[clang-tidy] Abseil: no namepsace check
Tue, Aug 28, 12:49 AM
hokein added a comment to D51279: [clangd] Implement findOccurrences interface in dynamic index..

Just noticed I'm not on the reviewers list, sorry for chiming in without invitation. Was really excited about the change :-)

Tue, Aug 28, 12:20 AM

Sun, Aug 26

hokein retitled D50385: [clangd] Collect symbol occurrences in SymbolCollector from [clangd] Collect symbol occurrences from AST. to [clangd] Collect symbol occurrences in SymbolCollector.
Sun, Aug 26, 10:42 PM
hokein added a comment to D50958: [clangd] Implement findReferences function.

Thanks for the comments.

Sun, Aug 26, 10:39 PM
hokein added a comment to D51279: [clangd] Implement findOccurrences interface in dynamic index..

Some numbers of memory usage from running this on my machine:

Sun, Aug 26, 10:35 PM
hokein created D51279: [clangd] Implement findOccurrences interface in dynamic index..
Sun, Aug 26, 10:31 PM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Update the patch based on our new discussion

  • SymbolOccurrenceSlab for storing underlying occurrence data
  • reuse SymbolCollector to collect symbol occurrences
Sun, Aug 26, 10:24 PM

Fri, Aug 24

hokein added inline comments to D50542: [clang-tidy] Add abseil-no-internal-deps check.
Fri, Aug 24, 5:16 AM · Restricted Project
hokein added a reviewer for D50385: [clangd] Collect symbol occurrences in SymbolCollector: sammccall.
Fri, Aug 24, 3:03 AM

Aug 23 2018

hokein accepted D50898: [clangd] Suggest code-completions for overriding base class virtual methods..

still LG.

Aug 23 2018, 6:10 AM
hokein accepted D50580: [clang-tidy] Abseil: no namespace check.

Looks good.

Aug 23 2018, 1:19 AM · Restricted Project
hokein accepted D50898: [clangd] Suggest code-completions for overriding base class virtual methods..

Thanks, LGTM.

Aug 23 2018, 1:16 AM

Aug 22 2018

hokein added inline comments to D50385: [clangd] Collect symbol occurrences in SymbolCollector.
Aug 22 2018, 9:02 AM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Add one more comment.

Aug 22 2018, 8:44 AM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Address review comments.

Aug 22 2018, 8:07 AM
hokein committed rL340412: [clang-tidy] Add Abseil prefix to documentation.
[clang-tidy] Add Abseil prefix to documentation
Aug 22 2018, 7:04 AM
hokein committed rCTE340412: [clang-tidy] Add Abseil prefix to documentation.
[clang-tidy] Add Abseil prefix to documentation
Aug 22 2018, 7:04 AM
hokein closed D51100: [clang-tidy] Add Abseil prefix to documentation.
Aug 22 2018, 7:04 AM · Restricted Project
hokein closed D50862: [clang-tidy] Abseil: faster strsplit delimiter check.

Committed in rL340411.

Aug 22 2018, 7:00 AM · Restricted Project
hokein committed rCTE340411: [clang-tidy] Abseil: faster strsplit delimiter check.
[clang-tidy] Abseil: faster strsplit delimiter check
Aug 22 2018, 6:59 AM
hokein committed rL340411: [clang-tidy] Abseil: faster strsplit delimiter check.
[clang-tidy] Abseil: faster strsplit delimiter check
Aug 22 2018, 6:59 AM
hokein accepted D51100: [clang-tidy] Add Abseil prefix to documentation.

LGTM.

Aug 22 2018, 6:47 AM · Restricted Project
hokein added a comment to D50898: [clangd] Suggest code-completions for overriding base class virtual methods..

Looks good mostly, a few nits. We should make sure all related comments are updated accordingly

Aug 22 2018, 6:26 AM
hokein added a reviewer for D50958: [clangd] Implement findReferences function: sammccall.
Aug 22 2018, 5:42 AM
hokein committed rC340403: [Preamble] Fix an undefined behavior when checking an empty preamble can be….
[Preamble] Fix an undefined behavior when checking an empty preamble can be…
Aug 22 2018, 5:35 AM
hokein committed rL340403: [Preamble] Fix an undefined behavior when checking an empty preamble can be….
[Preamble] Fix an undefined behavior when checking an empty preamble can be…
Aug 22 2018, 5:35 AM
hokein closed D50967: [Preamble] Fix an undefined behavior when checking an empty preamble can be reused..
Aug 22 2018, 5:34 AM
hokein updated the diff for D50385: [clangd] Collect symbol occurrences in SymbolCollector.

Update the patch based on our offline discussion

Aug 22 2018, 5:29 AM
hokein accepted D50847: [clangd] Add callbacks on parsed AST in addition to parsed preambles.

Thanks! Looks good.

Aug 22 2018, 1:14 AM
hokein added a comment to D51061: [clang-tidy] abseil-str-cat-append.

Please make sure the code follows the LLVM code style, e.g. the variable name format "CamelName".

Aug 22 2018, 1:06 AM · Restricted Project
hokein added inline comments to D51041: [clang-tidy] Don't run misc-unused-using-decls check in C++17..
Aug 22 2018, 12:58 AM
hokein updated the diff for D51041: [clang-tidy] Don't run misc-unused-using-decls check in C++17..

Remove redundant CPlusPlus2a.

Aug 22 2018, 12:57 AM
hokein updated the diff for D50967: [Preamble] Fix an undefined behavior when checking an empty preamble can be reused..

Use the std::equal to replace the memcmp.

Aug 22 2018, 12:51 AM

Aug 21 2018

hokein added a comment to D50580: [clang-tidy] Abseil: no namespace check.

Thanks for the updates. Looks mostly good, a few nits.

Aug 21 2018, 8:28 AM · Restricted Project
hokein created D51041: [clang-tidy] Don't run misc-unused-using-decls check in C++17..
Aug 21 2018, 8:17 AM
hokein added inline comments to D50580: [clang-tidy] Abseil: no namespace check.
Aug 21 2018, 1:32 AM · Restricted Project
hokein updated subscribers of D50542: [clang-tidy] Add abseil-no-internal-deps check.

Your patch seems have some comments unaddressed but you marked done.

Aug 21 2018, 1:31 AM · Restricted Project
hokein accepted D50862: [clang-tidy] Abseil: faster strsplit delimiter check.

The patch looks good. I'll commit for you once @JonasToth has no further comments.

Aug 21 2018, 1:20 AM · Restricted Project
hokein added inline comments to D50580: [clang-tidy] Abseil: no namespace check.
Aug 21 2018, 1:14 AM · Restricted Project

Aug 20 2018

hokein added inline comments to D50542: [clang-tidy] Add abseil-no-internal-deps check.
Aug 20 2018, 8:29 AM · Restricted Project
hokein committed rL340170: Fix an undefined behavior when storing an empty StringRef..
Fix an undefined behavior when storing an empty StringRef.
Aug 20 2018, 6:13 AM
hokein closed D50966: Fix an undefined behavior when storing an empty StringRef..
Aug 20 2018, 6:13 AM
hokein added inline comments to D50966: Fix an undefined behavior when storing an empty StringRef..
Aug 20 2018, 6:02 AM
hokein updated the diff for D50966: Fix an undefined behavior when storing an empty StringRef..

Correct the fix.

Aug 20 2018, 6:02 AM
hokein created D50967: [Preamble] Fix an undefined behavior when checking an empty preamble can be reused..
Aug 20 2018, 5:28 AM
hokein created D50966: Fix an undefined behavior when storing an empty StringRef..
Aug 20 2018, 5:21 AM
hokein added a comment to D50898: [clangd] Suggest code-completions for overriding base class virtual methods..

I think it is reasonable to make Sema support suggesting override methods, instead of implementing it in clangd side?

Aug 20 2018, 5:17 AM
hokein closed D50961: [clangd] Simplify the code using UniqueStringSaver, NFC..

committed in rL340161.

Aug 20 2018, 3:04 AM
hokein added inline comments to D50889: [clangd] Make FileIndex aware of the main file.
Aug 20 2018, 2:56 AM
hokein committed rCTE340161: [clangd] Simplify the code using UniqueStringSaver, NFC..
[clangd] Simplify the code using UniqueStringSaver, NFC.
Aug 20 2018, 2:48 AM
hokein committed rL340161: [clangd] Simplify the code using UniqueStringSaver, NFC..
[clangd] Simplify the code using UniqueStringSaver, NFC.
Aug 20 2018, 2:48 AM
hokein added a comment to D50847: [clangd] Add callbacks on parsed AST in addition to parsed preambles.

The interfaces look mostly good to me.

Aug 20 2018, 2:41 AM