« first day (1933 days earlier)      last day (1247 days later) » 

12:01 AM
RELOAD!
[rubberduck-vba/Rubberduck] 4 commits. 1 opened issue. 3 closed issues. 16 issue comments. 22 additions. 22 deletions.
[rubberduck-vba/RubberduckWeb] 3 commits. 174 additions. 112 deletions.
[Minesweeper] Games Played: 88, Bombs Used: 64, Moves Performed: 12206, New Users: 12
 
@mansellan for planning it out, I think it's a great idea!
 
@mansellan trying to catch up to the big ducks has taken a while. Ways to go still, but not as much as when I first found the pond.
 
I'd like inspections and refactorings to leverage CPA in 2.x, and get to 100+ inspections. With CPA done right we get to close #13 (the oldest # still open), ...which vaguely suggests an extract method refactoring/quick-fix.
 
12:15 AM
@MathieuGuindon Uh, GoSub?!?
 
@Duga lol
 
with CPA you get to know whether and in how many code paths you return from that jump
 
Yeah, it's... non-trivial.
So CPA is like, a tree of paths?
 
12:22 AM
yeah... loaded with metadata that says QueryMe ;-)
 
ooh, fun times. My spidey-sense is saying that this kinda code analysis is not a million miles removed from what the p-code engine has to do...
 
That's entirely a hunch though
Just seems that the lower we go, the closer to the engine we get
 
    public class ExecutionEngine
    {
        /// <summary>
        /// Traverses the executable nodes of the specified member.
        /// </summary>
        /// <param name="member">The member to "execute".</param>
        /// <returns>The execution context for each code path in the specified member.</returns>
        public IEnumerable<IExecutionContext> Execute(ModuleBodyElementDeclaration member)
"engine" alright :)
 
12:47 AM
so... dzzie's blog links to a replacement Scripting.Dictionary lib on Github, which uses Rubberduck for folders and unit testing. Gaining traction!
 
1:03 AM
@mansellan woot!
 
The more VBA/6 on GH, the better. It needs to move off of 1995-styled static sites...
 
#IndustryDisruptor indeed
 
starred
 
the tests aren't on GH though
:(
 
ah
it's a new repo...
 
1:07 AM
Mark had been pinging me on FB messenger all along his work and experiments on it :)
 
I can raise an issue? Maybe he just forgot to add the tests on commit?
 
go ahead, I'll upvote it!
 
haha
Get all the RD devs to pressure him into exposing his tests?
 
^
no, I just meant the repo
Too few VBA/6 on GH, needs watering
 
1:32 AM
hmm should the webite implement inspection xmldoc <module> elements like this?
(or variation thereof)
 
2:09 AM
> Do you use Rubberduck's self-closing pair completion feature?
42% "Huh, what's that?"
33% "Yeah, it's awesome!"
25% "Disabled, too annoying"
(12 votes so far)
makes me wonder if we should enable it by default
perhaps, after the current known issues are fixed
 
2:30 AM
@ZevSpitz
> at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.Collections.Generic.List`1.get_Item(Int32 index)
at ParseTreeVisualizer.VisualizerControl.changeSelection(Object sender)
at ParseTreeVisualizer.VisualizerControl.<.ctor>b__0_5(Object s, RoutedPropertyChangedEventArgs`1 e)
at System.Windows.RoutedPropertyChangedEventArgs`1.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
 
2:50 AM
woot! ExecutionEngineTests.SingleCodePath: passed
ExecutionEngineTests.BranchingCodePaths: failed
#WIP
 
 
9 hours later…
11:43 AM
Oh, how I dispise translating inspection metas. Translating technical terms is just so annoying.
Whatever is a dictionary access expression in German.
I also have no idea how I should translate bang notation.
 
12:02 PM
could you use Microsoft’s translated documentation as reference?
 
They have not translated MS-VBAL.
 
e.g. docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/…. though that might be questionable since it is machine tramslated
 
Still, I guess, it is better than nothing.
 
doesn’t have to be vbal, just the same concept discussed. i am presuming that a term used within such docs would be more familiar
 
 
3 hours later…
2:38 PM
Translating Git terms was... something, too. Translator me doesn't miss the SC panel at all!
 
3:37 PM
guys does a small wrapper class like this make sense? I'm finding IEnumerable<IExtendedNode[]> annoying to work with...
    public class CodePath
    {
        private readonly IExtendedNode[] _nodes;

        public CodePath(IExtendedNode[] nodes)
        {
            _nodes = nodes;
        }

        public IExtendedNode this[int index] => _nodes[index];

        public int Length => _nodes.Length;
    }
woot! two tests passing!
hm, not getting the 2nd IExecutableNode after the IBranchNode here
Public Sub DoSomething()
    Debug.Print ""hi from path 1""
    If True Then
        MsgBox ""hello from path 2""
    End If
    Debug.Print ""still in path 1""
End Sub
#WIP
ah, I'm entering the BranchNode too early
basically the above code should be:
- Path1
  - IExecutableNode (DebugPrintStmtContext)
  - IBranchNode (IfThen...)
  - IExecutableNode (DebugPrintStmtContext)
- Path2
  - IExecutableNode (CallStmtContext)
 
4:23 PM
ugh. keeping the conditional's BooleanExpressionContext in path1 while spawning a new path in the inner block's body isn't obvious.
 
 
1 hour later…
5:46 PM
@MathieuGuindon @MathieuGuindon Could you provide steps to reproduce? It's probably not related to the specific string being parsed, but just in case could you include that too? Also, which parser did you use?
 
@ZevSpitz maybe I'm doing it wrong, but that's all I get whenever I bring up the visualizer - I don't get to pick a parser
say I'm breaking in a listener and pick a node and bring up the visualizer, ..boom
 
I'm looking at it. Do you have the .pdb file in the same folder? That should give line numbers.
 
hm I think I only copied the DLLs
You need to make that a .zip ;-)
from the stack trace it looks like it's in the ctor
there's an indexer access against a List<T> going out of range
wait no not in the ctor, but caused by a call in the ctor. It's changeSelection that's blowing up
Is the ctor side-effecting?
 
@MathieuGuindon Yes, but I don't see an index access within changeSelection
Also, which version are you using? The CI version is now at 0.0.0.19.
 
6:01 PM
gah, that's 0.0.0.6.. I copied the latest onto the wrong VM lol
ok, updated (with the .pdb)
 
(I want to put in a better exception-handling dialog. Maybe in about 6-8 somethings...)
 
my VS is crippling slow for some utterly annoying reason
> Evaluateion timed out
lol
> Operation is not valid due to the current state of the object
(no stack trace)
"unable to load the custom visualizer"
 
You're on 2017 or 2019? Do you have the matching DLL?
 
am I supposed to be able to viz any ParserRuleContext?
2017, and yes
 
@MathieuGuindon Yes.
@MathieuGuindon Because of the visualizer, or in general?
 
6:09 PM
good question...
a visualizer shouldn't impact not-in-debugging-session VS anyway, no?
so, in general
hm, it does seem much more responsive without though
bbiab
 
6:26 PM
bbiab?
What string are you trying to parse?
Are you using a later version of Rubberduck VBAParser than the latest release?
I'll try to repro on my end.
@MathieuGuindon No. In my experience, the visualizer DLL isn't loaded until you actually click on the magnifying glass. Although, I'm not sure what happens after the visualizer is opened and then closed.
 
@ZevSpitz be back in a bit lol
@ZevSpitz just some test code:
Permalink
:facepalm:
3 hours ago, by Mathieu Guindon
Public Sub DoSomething()
    Debug.Print ""hi from path 1""
    If True Then
        MsgBox ""hello from path 2""
    End If
    Debug.Print ""still in path 1""
End Sub
@ZevSpitz nope
wait "latest release" as in master or as in next?
 
Probably master. I can't check right now, I'm not on my primary machine.
The double-double-quotes are in the original string?
Or just how VS represents strings in C#?
 
6:51 PM
the code is in a verbatim string, they're just escaped
 
What version of 2017 are you using?
If I use next branch, will I have the same parser as you do?
 
If you're using parser from master... there have been several bug fixes to the grammar since then
so yeah use next =)
I haven't made any changes to the grammar on this branch, but the node classes are being extended
@ZevSpitz latest & greatest =)
 
OK. I can't try to repro right now; in about half an hour.
 
7:23 PM
:+1:
 
 
2 hours later…
8:59 PM
@MathieuGuindon I managed to crash VS using the Release version of the visualizer, with Just My Code turned off. Could you try the latest version (0.0.0.21)?
Thanks for taking the time to do this.
 
As soon as my stupid computer realizes the network is up!
reboots
> have you tried turning it off and on again?
(actually works)
testing
hm, it's not there
gah, wrong folder
 
9:16 PM
I've got to go now; I'll be back in about an hour.
 
k
woot, it works!!
 
 
1 hour later…
10:41 PM
Preview for October: we will have an ExpandBangNotationQuickFix
It is ready, but I hold off from pushing because of Hacktoberfest.
 
@M.Doerner nice!!
 
@MathieuGuindon +1 Next question: is it useful?
 
10:57 PM
@ZevSpitz YES!!!
=)
 
So how can I make it even more useful? What features should I consider next?
 
I'll open issues when ideas come =)
 
+1
 
I think it can really help everyone that needs to toy with parse trees, it's great
 
11:16 PM
@ZevSpitz "filter token types" needs to show the name of the token
:)
 
@MathieuGuindon You have to choose a parser class from the settings (the gear in the top right), or download the latest release (0.0.0.22) which makes this unnecessary.
 
@ZevSpitz 2 new issues!
 
And you have to click outside the popup for the change to take effect (yes, it's sort of crummy.)
 
aaah
nice
the ID numbers could still be showing, no?
hm, "live selection" isn't working in the "source" box?
 
@MathieuGuindon Could you repro with a GIF?
When you select text in the source, the selection isn't reflected in the tree or token list? If you've filtered the token list or the tree, you may not see any changes because you're filtering out the corresponding rows/nodes.
 
11:32 PM
if I select the IDENTIFIER (MsgBox) token, "Parse tree view" highlights the MsgBox node in the tree, but the caret in "Source" remains at the end of End If
 
Strange. Can you file this as an issue and I'll look again tomorrow?
 

« first day (1933 days earlier)      last day (1247 days later) »