« first day (630 days earlier)      last day (2550 days later) » 

12:00 AM
RELOAD!
[Hosch250/Rubberduck] 29 commits. 226809 additions. 229145 deletions.
[rubberduck-vba/Rubberduck] 1 opened issue. 2 closed issues. 13 issue comments.
 
 
3 hours later…
2:51 AM
> @Pitterling ah, good one - I'm preventing that exception in the Declaration class, but not in IdentifierReference. Note that this RuntimeBinderException is handled though - and it's not thrown in the resolver. In other words, it's not reproducing the resolver error. I'm trying with your workbook now.
 
Does the VBA SDK have any content that might help with Black Magic?
 
like what?
by VBA SDK, do you mean the VBIDE API?
 
like watchdog capability
 
haha forget that
 
I mean the SDK that host-integrators use.
 
3:04 AM
huh, is that free?
 
it used to be distributed as an Evaluation CD
I don't have an MSDN subscription, so I can't tell if that is the evaluation CD
 
3:34 AM
[retailcoder/Rubberduck] retailcoder pushed commit c10bb34b to CodeExplorer: removed the possibility for RuntimeBinderException by reflecting on the context type to locate the method to use. Kept (dynamic) cast because deemed less expensive than
 
0
Q: Dynamic cast vs reflection invoke: which poison to pick?

Mat's MugI'm facing a little dilemma. I need to repetitively call a given method on many instances of a type, that may or may not exist. Because the method's result will never change for any given instance, I'm caching its return value for future use so as to reduce the overhead and return early on subse...

 
4:12 AM
[Hosch250/Rubberduck] Hosch250 pushed commit ee83ee1d to BugBlipper: Unsynced commits VM
 
4:24 AM
[Hosch250/Rubberduck] Hosch250 pushed commit 92b690b9 to BugBlipper: UI tweaks
 
4:48 AM
> Well, this is interesting:

> Rubberduck.Parsing.Symbols.SyntaxErrorException: no viable alternative at input 'Public Const' ---> Antlr4.Runtime.NoViableAltException: Exception of type 'Antlr4.Runtime.NoViableAltException' was thrown.
at Antlr4.Runtime.Atn.ParserATNSimulator.HandleNoViableAlt(ITokenStream input, Int32 startIndex, SimulatorState previous)
at Antlr4.Runtime.Atn.ParserATNSimulator.ExecATN(DFA dfa, ITokenStream input, Int32 startIndex, SimulatorState initialState)
at
 
 
1 hour later…
5:53 AM
[Hosch250/Rubberduck] Hosch250 pushed commit b09aab10 to BugBlipper: Settings VM, fix a couple NRE's
 
6:17 AM
[rubberduck-vba/Rubberduck] Hosch250 pushed commit e680e793 to next: Set adjustable button width in settings, use readonly commands
 
Holy smokes, I definitely did not mean for that to happen!
Darn you, VS!
I don't have any up-to-date branches that I can work in other than BugBlipper, which has a bunch of SC changes.
So, I created a branch from upstream next and thought I told it to just make it locally.
Turns out I didn't, and the readonly properties and adjustable buttons for Settings got committed straight to next.
At least it was something that minor...
@Mat'sMug It's an awful good thing you locked down Next, or it would have been deleted again when I just deleted that branch.
 
[rubberduck-vba/Rubberduck] build for commit e680e793 on next: AppVeyor build failed
BUILD FAILURE!
 
WT*???
 
nuget acting up
 
The tests are passing on my machine, and everything builds real nice.
One other thing. Since you don't use Source Control anyway, would you mind pulling my changes in a special branch and looking them over?
Don't pull them into Code Explorer because you will forget and merge them into Next, just like the Settings.
I want feedback on the UI, even though nothing is working ATM.
Actually, wait a couple days and I'll get the Create/Merge/Delete branch button UI's working.
And the commit combobox. I'm going to bed now, good night.
I'm going to stick a question on SO in a few days about the buttons not resizing down to fit their content.
 
6:25 AM
> Several grammar/parser issues.

First one, a line ending with a colon trips the parser. This code reproduces the issue:

Option Explicit

Public Const Foo As String = "abc" & "def":
Public Const Bar As Integer = 42

Removing the trailing colon fixes it, but the code is legal so the grammar/parser needs a fix.
 
@Hosch250 been struggling with a grammar bug for hours... off to bed as well
 
OK, night.
Oh, and I almost pinned @Vogel612's message about not liking VBA, but I thought it might not be appropriate for the project :P
 
7:14 AM
> @autoboosh got a clue about this one? I'm stuck :unamused:
 
 
5 hours later…
12:04 PM
> If you don't like to expose any parts of parse tree, how would you implement refactorings like Extract variable, just for example? What do you need in this case: having cursor position, find/select some expression around cursor, then try to find the same expression inside current Sub/Function, create Dim + Let/Set before 1st instance, and finally replace all instances of expression by variable reference.
> We would expose the symbol table, which has resolved all declarations and references instead of exposing the raw AST.
 
12:28 PM
> The grammar issues are fixed. I'll add tests based on @Pitterling's code next so we can keep regressions like these to a minimum. The second issue isn't fully fixed, since there are probably a few other places where a WS is missing. I'll try to find a general fix.

With that said, there's still an open resolver issue (the one mentioned in the first comment). I'll leave that to you @retailcoder if that's OK.
 
12:46 PM
> @autoboosh awesome, thanks! I'll deal with the resolver bug :-)
 
 
1 hour later…
2:05 PM
Quite a bit of work implementing Enderland's answer but I think this will be quite badass when it's done
 
 
2 hours later…
4:12 PM
yo
 
2 days ago, by RubberDuck
I got a Dickie!
Who pinned that!? lol
 
not me!
but.... funniest typo ever :)
 
5:02 PM
> PR is up at https://github.com/rubberduck-vba/Rubberduck/pull/1147.

Only added tests for a few cases so you can get an idea of what it could look like. Any feedback welcome.
[rubberduck-vba/Rubberduck] build for commit 82977388 on unknown branch: AppVeyor build succeeded
 
5:17 PM
@RubberDuck I pinned that.
I swapped the pin now.
 
> This will be a non-issue once the XAML view is done.
> Will be done in WPF display shortly.
 
5:39 PM
nice work with the WPF views :P
 
6:03 PM
> Here are the changed tests. You can't match the content of nodes as far as I'm aware (see https://github.com/parrt/antlr4/blob/xpath/tool/test/org/antlr/v4/test/TestXPath.java).

Separated the parsing and assertion to allow multiple assertions in case one xpath isn't enough.

What do you think?
> 8297738 made me realize, there's another issue here:

iCS_S_MemberCall : ('.' | '!') (iCS_S_VariableOrProcedureCall | iCS_S_ProcedureOrArrayCall);

Shouldn't there be a `WS?` token before/after the dot / exclamation mark token? Does this code trip anything?

Debug.Print Foo.Bar
.FooBar
.Baz
[rubberduck-vba/Rubberduck] build for commit 46c06972 on unknown branch: AppVeyor build succeeded
> Nice catch! I believe there should also be a WS? token before/after the dot, too.
> @autoboosh wow! testing matches with an xpath makes the tests so much simpler! well done!
> The "before" is covered by (iCS_S_MemberCall WS?)+ in iCS_S_MembersCall. The after is missing. Why's there a '!' btw? Isn't that what the dictionaryCallStmt immediately following the MembersCall is for?
> Good question. This could very well be a bug!
 
6:33 PM
> That's a good call Hosch, but we'll need to warn users that it won't automatically import/export into the editor when using the cli
> Here's the fix. IMHO the '!' fix is too big for this PR.
[rubberduck-vba/Rubberduck] build for commit f27a6219 on unknown branch: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 9934908a on unknown branch: AppVeyor build succeeded
 
@awgaya good to merge then?
 
ran it through the test code Pitterling gave us and it worked fine, so yeah :)
 
BTW I cannot thank you enough for the work you're doing on the grammar/parser - that grammar has been the bane of my existence for over a year!
 
[rubberduck-vba/Rubberduck] autoboosh pushed commit 888c0a11 to next: fix endOfLine should be replaced by endOfStatement everywhere (#1145)
[rubberduck-vba/Rubberduck] autoboosh pushed commit 0ae919f0 to next: fix chained method calls should allow line continuation (#1145)
[rubberduck-vba/Rubberduck] autoboosh pushed commit be130765 to next: first few vbaparser tests (#1145)
[rubberduck-vba/Rubberduck] autoboosh pushed commit 82977388 to next: fix line continuations are allowed between the dictionary call '!' operator (#1145)
[rubberduck-vba/Rubberduck] autoboosh pushed commit 46c06972 to next: switch to xpath for asserts (#1145)
[rubberduck-vba/Rubberduck] autoboosh pushed commit f27a6219 to next: fix line continuation not allowed after member call '.' (#1145)
[rubberduck-vba/Rubberduck] autoboosh pushed commit 9934908a to next: typo fix
Merge pull request #1147 from autoboosh/fixeos

fix grammar line continuation issues + add first vbparser tests to prevent regressions
 
the pleasure is all mine :P always wanted to work with parsers in a real project =]
 
6:46 PM
[rubberduck-vba/Rubberduck] build for commit c3932ae5 on next: AppVeyor build succeeded
 
so, Pitterling's workbook only trips the resolver now, right?
 
yeah
 
cool. that issue will be closed tonight then!
 
good luck :p
 
no biggie
Once I get the resolver code stable-ish, I definitely need to look into covering it in a crap ton of tests, and refactor the hell out of it
 
6:56 PM
> With the referencing commits now merged into [next] (thanks a bunch @autoboosh!), only the resolver bug should remain now. Consider it fixed!
 
uh, that was totally not meant to become a markdown link
[next] (thanks a bunch @autoboosh)
lol
 
:p
 
7:12 PM
> @ckuhn203 Only if I don't figure out how to detect when the repo is externally changed before release.
 
@RubberDuck Seriously, how would I do that?
Does LibGit2Sharp expose an event I could handle?
Otherwise, I would have to detect when the individual files are saved, which I'm not sure if that is even possible.
 
I just found that myself ;)
Yup, I just need to handle the Changed event.
Sounds real easy.
 
> Just use a FileSystemWatcher, and prompt to reload when a file is modified outside the VBE! The hard part is to avoid prompting for every single module when every file is modified...
 
BBL.
 
7:32 PM
Either that, or register files to ignore and check them when the event is fired.
 
 
2 hours later…
9:17 PM
@Mat'sMug What did you to the identifer reference stuff? It throws exceptions like crazy now!
 
> The mug beat me to the punch. Yes, a FileSystemWatcher was my original plan.
 
@Hosch250 like what? the intent was to prevent it from throwing a crap ton of RuntimeBinderException ...seemed to work fine at my place... did you pull the latest changes on [next]?
 
9:39 PM
@Hosch250 ?
 
9:56 PM
@Mat'sMug Took my dog out.
 
kk
 
Yes, I pulled the latest changes on Next. It used to work, but it throws exceptions left and right now.
 
ok, what exceptions exactly
 
Loading Rubberduck.
Ummm, none?
 
well, there!
haha
 
10:00 PM
I don't know what happened there, it was probably because it was the first time I ran it after I pulled.
I think it is something about the caching, but things sometimes crash if I don't clean and rebuild when I pull.
 
ok well, all good then! :)
keep rubberduckin'
 
Wait, it is switching branches that causes it. I had it twice just recently.
 
I'm not following
what's throwing? Rubberduck? or VS?
 
Rubberduck was throwing because of switching branches.
 
oh, you mean the SC feature
lol
such meta, much confused
 
10:02 PM
When I switched from the source control branch, VS initially couldn't build because it couldn't find the XAML files.
When I switched back to the source control branch, Rubberduck was crashing because of something involved with switching Rubberduck branches.
 
10:17 PM
WOW what a change...
'This macro is automagically triggered any time an item enters inbox folder
Private Sub items_ItemAdd(ByVal itm As Object)
    'This is to be used largely for notifications from SQL and other
    'automated notifications, which notifications are not necessarily important
    'to look at in the immediate and can be archived.
    Dim recip As Recipient
    Dim moveItem As Boolean

    For Each recip In itm.Recipients
        moveItem = False

        If Not matchesRecipient(recip.Name) Then
            Exit Sub
And now I have a bunch of little functions like this
Private Function matchesSender(sndr As String) As Boolean
    'Senders to begin applying the filters to:
    senderMatches = Array( _
        "partnerlinksupport", _
        "SQLAdmin", _
        "biz", _
        "intdev" _
    )

    Dim i As Integer
    For i = LBound(senderMatches) To UBound(senderMatches)
        If InStr(sndr, senderMatches(i)) > 0 Then
            matchesSender = True
            Exit Function
        End If
    Next i
End Function
 
@Phrancis welcome to the real deal!
 
Now I just gotta turn it on and cross my fingers X)
And, it's not working
 
aww
where's your WithEvents declaration?
 
In ThisOutlookSession
Option Explicit
Private WithEvents oExpl As Explorer
Private WithEvents oItem As mailItem
Private bDiscardEvents As Boolean

'Declarations used for customer mail filter script (see Outlook email Rules)
    'Declare Outlook application and inbox variables:
    Private nameSpace As Outlook.nameSpace
    Private inbox As Outlook.Folder
    'Listener:
    Private WithEvents items As Outlook.items
 
are you assigning the WithEvents references anywhere?
 
10:31 PM
The items variable?
 
oExpl and iItem
 
(the other ones were there by default)
 
they need to be assigned somewhere
 
I have this just below,
Sub InitOutlookEnv()
    'Set up Outlook application and inbox variables if they are not already
    If (nameSpc Is Nothing Or inbox Is Nothing) Then
        Set nameSpc = Application.GetNamespace("MAPI")
        Set inbox = nameSpc.GetDefaultFolder(olFolderInbox)
    End If
End Sub
Guessing I must be missing something
 
Private WithEvents oExpl As Explorer 'remains Nothing all along == no events handled
Private WithEvents oItem As mailItem 'remains Nothing all along == no events handled
 
10:34 PM
owait
Disregard above code, wrong module
Private Sub Application_Startup()
    Set oExpl = Application.ActiveExplorer
    bDiscardEvents = False
    'Used for customer mail filter script (see Outlook email Rules)
    Set nameSpace = Application.GetNamespace("MAPI")
    Set inbox = nameSpace.GetDefaultFolder(olFolderInbox)
    Set items = Application.GetNamespace("MAPI") _
                       .GetDefaultFolder(olFolderInbox) _
                       .items
End Sub
Meh I need to go home and go help a friend move :|
 
enjoy the beer!
 
lol right...
TTQW, feel free to tag me if you see something, taking the work laptop home
 

« first day (630 days earlier)      last day (2550 days later) »