« first day (3107 days earlier)      last day (73 days later) » 

12:07 AM
REFRESH!
[Minesweeper] 121 Games Played. 77 Bombs Used. 15535 Moves Performed. 15 New Users
[Rubberduck] 2 Synchronizations
[MDoerner/AdventOfCode2022] 1806 additions. 58 deletions. 1 commits
 
 
2 hours later…
2:28 AM
now there's a tough one - if I add a member annotation....
...it's part of the module declarations, understandably
so the code pane parse trees have all the module and member attributes now
 
 
10 hours later…
1:08 PM
@MathieuGuindon Remember: Many rookie VBA peeps will have modules that are 1000s of lines long (and methods that are 100s of lines long), so the Duck needs to be snappy for them too.
 
 
1 hour later…
2:20 PM
 
 
4 hours later…
6:13 PM
@MathieuGuindon incremental "make that dead code grey" rules sounds like a good issue for LSP - non-blocking asynchronous inspections slowly hydrating but the main user interface doesn't have to wait for them to do basic colouring. Not that I'm particularly pro- LSP but it looks like a nice architecture that forces asynchronous delegation of work by design
 
6:49 PM
Yeah... it's going to work asynchronously like that whether or not there's a LSP involved, but yes, indeed!
 
7:33 PM
that feeling when a "Process Improvement" analyst shares his VBA, and it's got GoTo and Select and Activate, and it's even VBA to begin with.
screaming for the ducky
 
8:18 PM
lol
 
 
3 hours later…
10:57 PM
@BigBen I resemble that remark
 
11:21 PM
> **What**
Rubberduck could warn when a local variable name conflicts with an Enum member name.

**Why**
If a module level const is defined and it's name conflicts with a local variable then the code _won't_ compile - a run-time error or bug is therefore _avoided_. If an Enum member is defined and it's name conflicts with a local variable then code _will_ compile - resulting in the risk of a run-time error or bug (unintended outcome) occurring.

The example below is very obvious however it
 
11:34 PM
> IIRC the shadowed declaration inspection isn't enabled by default, can you confirm this isn't a scenario that would be picked up by that inspection? I would expect it to be covered already.
> Yes you're right. I decided to post this as I came across a bug in one of my projects, the source of which took me ages to find.. all due to using `Enums` and `Select Cases` and not fully understanding the knowledge contained in your second paragraph - so thanks for that! To someone wiser than me its going to be intentional usage and I can appreciate its really hard to determine the coders intent.

Trying to think of a way that you could reasonable inspect for the above: can you think of an
> IIRC the _shadowed declaration_ inspection isn't enabled by default, can you confirm this isn't a scenario that would be picked up by that inspection? I would expect it to be covered already.

Edit- indeed, it's disabled by default: https://test.rubberduckvba.com/FeatureDetails?name=ShadowedDeclaration
> Aha yes - it's already covered then - I haven't enabled it. Cheers!

Learning new things every day!
> Yes you're right. I decided to post this as I came across a bug in one of my projects, the source of which took me ages to find.. all due to using `Enums` and `Select Cases` and not fully understanding the knowledge contained in your second paragraph - so thanks for that! To someone wiser than me its going to be intentional usage and I can appreciate its really hard to determine the coders intent.

Trying to think of a way that you could reasonably inspect for the above: can you think of an
> There's one for [unreachable case](https://test.rubberduckvba.com/FeatureDetails?name=UnreachableCase), although it won't pick up all positives but does enough to be helpful I think. We need RD to be able to evaluate expressions (and their resulting data type) in order to unlock all the "expression is always false" kind of goodies.
It'll come, but v3.0 will probably come first 😉
[rubberduck-vba/Rubberduck] 1680 stars vs. [decalage2/oletools] 2279 stars
 

« first day (3107 days earlier)      last day (73 days later) »