« first day (2509 days earlier)      last day (28 days later) » 

12:02 AM
RELOAD!
[rubberduck-vba/Rubberduck] 1 issue comment.
[Minesweeper] Games Played: 107, Bombs Used: 73, Moves Performed: 14030, New Users: 13
 
 
3 hours later…
3:12 AM
[rubberduck-vba/Rubberduck] build for commit 947deea6 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
3:49 AM
[rubberduck-vba/Rubberduck] build for commit d032b222 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] retailcoder pushed commit 96329362 to next: inspection is looking for Sheets.Item and Sheets._Default member calls
[rubberduck-vba/Rubberduck] retailcoder pushed commit fae2b92d to next: disable tests for SheetAccessUsingString pending a way to mock ITypeLib API determining the document module supertypes.
[rubberduck-vba/Rubberduck] retailcoder pushed commit 947deea6 to next: fixes broken tests
[rubberduck-vba/Rubberduck] retailcoder pushed commit d032b222 to next: fix broken test
Merge pull request #5726 from retailcoder/fixStringSheet

Tweaks worksheet inspection to look for Sheets.Item and Sheets._Default member calls; adjusted tests to correctly load worksheet/workbook supertypes.
 
is it weird if I merge the version bump to [next] but not yet into [main]?
til [main] in SE chat is a magic link to Code Review
 
4:20 AM
[rubberduck-vba/Rubberduck] build for commit 236805ad on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] retailcoder pushed commit adf018e9 to next: Bump version to 2.5.2
[rubberduck-vba/Rubberduck] retailcoder pushed commit 0c84c2d0 to next: updated splash, deleted corrupt designer
[rubberduck-vba/Rubberduck] retailcoder pushed commit b7490612 to next: updated splash background
[rubberduck-vba/Rubberduck] retailcoder pushed commit 426c846b to next: tweak version label bgcolor
[rubberduck-vba/Rubberduck] retailcoder pushed commit c009f175 to next: made version label transparent, load image into picturebox
Merge pull request #5706 from retailcoder/bump252

Bump version to 2.5.2
 
 
3 hours later…
7:19 AM
> Version 2.5.2.5814
OS: Microsoft Windows NT 10.0.19042.0, x64
Host Product: Microsoft Office x64
Host Version: 16.0.13901.20400
Host Executable: EXCEL.EXE

The **ImplicitActiveSheetReference** test seems to be broken.

The following code:

```
With shNotOK
.Range(.Range("A2").Resize(UBound(arrNotOK, 1), UBound(arrNotOK, 2)).Address).Formula = arrNotOK
End With
```
where **shNotOK** is
```
Set shNotOK = ActiveWorkBook.Sheets("NotOK")
```
and **arrNotOK** is two-dimentional
 
8:28 AM
> This addition broke the `ImplicitActiveSheetReferenceInspection`. We either need to make this list virtual or remove this base class entirely.

Ref #5735
 
 
2 hours later…
10:33 AM
@Hosch250 Howdy!! Good to see you.
 
 
1 hour later…
11:40 AM
> Noticed more "false alarms" for code like this one:
```
sh.Range(....
```
where sh is some worksheet.
> Noticed some more "false alarms" for code like this one:
```
sh.Range(....
```
where sh is some worksheet.
 
> Noticed some more "false alarms" for code like this one:
```
sh.Range(....
```
where sh is a variable for some worksheet.
> Noticed some more "false alarms" for code like this one:
```
sh.Range(....
```
where **sh** is a variable for some worksheet.
> Noticed some more "false alarms" for code like this one:
```
sh.Range(....
```
where **sh** is some variable, pointing to some worksheet.
> Noticed some more "false alarms" for code like this one:
```
sh.Range(....
```
where **sh** is variable, pointing to some worksheet.
 
I'm playing with twinbasic. I converted a solution to Project Euler Question 14 from VBA to twinBasic (I just had to change debug.print statements to Msgbox due to preview restrictions). The VBA code takes 51 minutes to run to completion. twinBasic took just 3 seconds.!!!!!
3
 
12:06 PM
> Thanks for reporting this.

The cause of the issue is the change from the referenced commit. It will likely occur for all calls to the members on variables of type `Excel.Worksheet`.
 
@Freeflow that's... an improvement!
Reminds me of a place I worked at back in '96. They'd hired a contractor to write a rather large program in VB (6?, 5?, I dunno) and it took forever to run. The rather acerbic owner/boss was unhappy with that and demanded the contractor make it faster. When he was unable to do so, he hired another to rewrite the thing in a different language that would be faster.
The new contractor wrote it in Delphi, but couldn't get it completed and was summarily caned canned. He then called me over (I was hired just after delivery of the rewrite) and said something to the effect of "you're a programmer, you make this work!"
I was able to get it working, and it did run significantly faster than the VBx version, however, it was rather... poorly written. I ended up bailing from that company before lawsuits and/or criminal proceedings were launched (failure to deliver on his outlandish promises anything to get the sale, as well as failure to properly dispose of PII). Don't know what happened to the project, but I believe the company was purchased, so the boss probably walked away with a very fat payout.
Note: "back in '96" is 1996, not 1896, you wippersnappers! Get off my lawn!!
 
12:26 PM
> Thanks, I'll push a hotfix and add a bunch of tests - somehow I expected the build to fail if it broke the inspection, ... But this could only have been properly tested with the other changes made in the mock parser amd test setup.
 
12:58 PM
@FreeMan hi.
@Freeflow sounds too good to be true. Hope there's not a bug involved in the runtime :)
 
Welcome back! Congrats on the new house.
I was just wondering a week or so ago if anyone had heard from you or Comintern.
Maybe he'll stop by soon, too!
 
Maybe!
 
1:21 PM
@Hosch250 Good to see you here again!
 
> This patch makes the ImplicitActiveSheetReference inspection tests to now correctly set the document module supertypes in the test code, and adds a test that confirms the fix for the referenced issue.
 
1:42 PM
hello!
 
@BZngr You too.
Hi, Mat.
 
[rubberduck-vba/Rubberduck] build for commit 26a29f8d on unknown branch: AppVeyor build succeeded
 
BTW, @Hosch250, you're going to have to update your profile pic - I'm sure the puppy is much bigger now! ;)
 
She's 9 now.
But she's still cute.
 
@MathieuGuindon You merge too fast.
@Hosch250 Welcome back!
 
@M.Doerner oops, sorry!
 
@M.Doerner Thanks.
 
2:56 PM
Have you guys considered using GitHub actions?
I know what you have works, but they are pretty cool.
 
it does
from what I understand it should be possible to build my contentupdater app on the cloud and somehow hook it up so that it automatically runs and updates the website records as soon as a PR is merged and built on [next] or [main]
 
> This PR updates the installer bitmap resources (including the ugly old v1.x Ducky.ico stray icon!), and adds an extra test that was in scope for #5736
 
I believe GitHub has a webhook you could connect to.
 
@Duga ooh missing the xml-doc edit
 
You'd build your endpoint, then point GitHub to it, and it would call it.
 
3:02 PM
tbh the first step would be to get my GH API creds into BlackBox and upload the damn source code to GitHub already
actually it's already on GH, just on a private repo
 
^ read csproj and wondered who the heck was posting their homework to the repo. Yeah, never mind, I got it...
 
There might be a nuget package to help with that.
This looks really useful: medium.com/@aergonaut/…
 
3:27 PM
[rubberduck-vba/Rubberduck] build for commit 1a09a8da on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
Mug slapping his head in 3... 2... 1... :D
 
> Build 5816 seems to work as it should. Nice work! :)
 
3:46 PM
@Duga yeah, seems
@FreeMan called it
 
@MathieuGuindon LOL
 
wtf though I did run them locally this time
oh fml
 
that's not cool. it should have coalesced the blue ! to the parent node
 
> Build 5816 seems to work as it should. Nice work! :)

BTW, I like the new splash screen. :)
 
@Duga repro'd
 
4:00 PM
@Duga Oh yeah, that does look pretty good!
 
@MathieuGuindon IDK if relevant but if there's stuff to be deserialized for mock parser, that may need to be updated (or maybe you did that already)
 
@MathieuGuindon - read the twinBasic article... and see that you are talking about it here. How would it replace VBA in Excel, for instance? Or does it?
Great article, BTW
 
thanks!
 
I find myself using the Factory Pattern A LOT... LOL
 
you'll find yourself using constructors a lot in tB! :)
tB wouldn't replace VBA, but makes it easy to build something in a language you already know (plus all the perks of it being a brand new language) and to expose it to a VBA client
and then there's talks going on about how a COM-visible .DLL written in tB can be engineered to not be a PITA to use and deploy
 
4:13 PM
At this stage, I can see uses for moving the standard library code that you authored into a tB DLL
 
@MathieuGuindon <Standing on chair>... still over my head...
2
 
Note, though, it's limited to 32-bit, so wouldn't work in 64-bit Excel unless you want to enable COM remoting.
 
@this VBMVVM? that's the idea
 
Yep
 
@SmileyFtW climbs ladder. Has same problem
 
4:15 PM
remove all the boilerplate clutter from your VBA project!
 
@SmileyFtW tools / references -> then reference your compiled twinBASIC DLL from your VBA project, and invoke tB objects from VBA code
@this my understanding is that this is just a preview limitation; will/should be lifted come release 1
 
@MathieuGuindon That part makes sense, but "can be engineered to not be a PITA"?
 
you know, Wayne and black magic
 
Soon you'll be doing the same kind of stuff for RD Mug. Gotta slay them dragons.
 
basically they're looking into ways to reference a tB library from VBA without it breaking all the time
 
4:18 PM
@MathieuGuindon yes did you see the roadmap?
 
 
4 hours later…
8:11 PM
given the expression like (((lame) is stupid) and some more stupid text i don't care), how do I get regex to match only the (lame) and not (((lame) ? Note: the parentheses are literal and needs to be matched. I'm using something like \((.+)\) which will match the (((lame)
 
if you only want the innermost one, you can go for /\([^\(]+?\)/
 
8:31 PM
say you have Bar context in Foo.Bar("thing"); do we have a method that can give us the Foo context?
 
I think you are supposed ot use the GetAncestor extension method
 
That is not an ancestor, actually.
Foo is in the lExpression of the memberAccessExpression ancestor.
Note however that you might be inside a WithMemberAccessExpression.
 
yeah that occurred to me... feels like IdentifierReference is missing a piece about what Declaration is qualifying it
@M.Doerner but that can be recursive, correct? i.e. the lExpression is also a memberAccessExpression?
 
It can, but you are interested in the last one anyway, right?
They are boxed right-to-left (seen from the outside in).
 
8:41 PM
I think so but my thought stream seems to turn to spaghetti... that does help
 
What exactly are you trying?
 
to determine the actual qualifying declaration given an IdentifierReference
so given a lExpressionContext, I just want the last child then
 
Same issue exists for finding the qualifying Declaration of a UserDefinedTypeMember IdentifierReference.
 
many places too
we're reinventing that wheel every time are we
 
Yeah...you can find my wheel inside EF refactoring. :)
 
8:52 PM
well, that's what you get for missing the "e" in the antlr, right?
 
woot, Me works
 
9:05 PM
ok, needs a test for With now
 
thinking the resolver could simply store the current qualifying object as it creates IdentifierReference instances... we shouldn't need to drill up & down parse trees to do this in inspections and refactorings
 
That would be great!
 
who knows. that may help speed up the resolution/inspection
 
Certainly would not slow it down. :)
 
9:27 PM
not pretty, but all green.
 
@MathieuGuindon should we expect a Rubberswan then?
@Duga wonders what an excel inspection has to do with installer resources ;-)
 
@this nothing to see here ;-)
I said 2.5.2 was imminent way too long ago
ship ship ship ship ship ship
 
[rubberduck-vba/Rubberduck] build for commit b589d880 on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
fml
did not run all the inspections tests
wait huh
lol of course
bbl
 
10:22 PM
I think I can store the qualifying declaration in the resolver. However, one has to be a bit coutious as this also requires updating the cache invalidation.
Hm, we could actually store the qualifying reference. That would give more validation and no further cache invalidation. However, it will be a bit painful for with blocks.
 
@M.Doerner for With over a variable, that should be easy. But for those over an expression, do we create a declaration representing the temporary variable as the result of that expression?
 
10:41 PM
That change-I-didn't-expect-to-make-a-difference surely did.
 
11:22 PM
[rubberduck-vba/Rubberduck] build for commit cff0958b on unknown branch: AppVeyor was unable to build non-mergeable pull request
BUILD FAILURE!
 
@Duga Iven-Self-Note: git fetch followed by git merge upstream/next before pushing for PR.
It's not much, but I'm proud of that PR. First time setting up mocking without blindly copy-pasta-minor-edit to get a test in.
@GregorBrandt Welcome to the pond.
 
11:45 PM
@this I'm getting 3 failing tests locally. Confident it's because I'm using YYYY-MM-DD for my date format.
 
[rubberduck-vba/Rubberduck] build for commit 17e72f56 on unknown branch: AppVeyor build succeeded
 

« first day (2509 days earlier)      last day (28 days later) »