« first day (748 days earlier)      last day (2432 days later) » 

22:00
> I'll be making a new release with lots of bug fixes (and likely a few new bugs) late Friday, if you want to wait for it.
[rubberduck-vba/Rubberduck] build for commit 857f29e7 on unknown branch: AppVeyor build succeeded
> Here is also my log when this happened. It does not look to healthy in the middle while going from parsing to resolving
[resolver.txt](https://github.com/rubberduck-vba/Rubberduck/files/330897/resolver.txt)
:)
[rubberduck-vba/Rubberduck] build for commit d047f634 on unknown branch: AppVeyor build succeeded
> Wargs, also referred to as "Rubberducks", are people who are able to enter the minds of IDEs and control their actions.
>
> Being a warg makes way for changes in the personality of the language and the IDE involved. In addition, a warg bond is easier if the Rubberducks already know and are close with the IDE. Usually wargs begin by entering the mind of the IDE in their dreams. If an IDE is killed while a warg is inside its mind, it is traumatic for the warg, and if a warg is killed while his or her conscience is inside the IDE, some of his or her conscience may remain in the IDE.
2
@ThunderFrame I'd have to say that Comintern probably knows the most.
22:19
yep, just filled in names as I went, but...
It's remarkable how easily "IDE" and "animal" can be substituted.
I think I just got a real word for the first time when I just mash my keyboard for a temp variable name--"hero".
ha - reminds me of Hiro Protagonist in Snowcrash.
@ThunderFrame GoT FTW
Hi, @RubberDuck.
22:35
> I am using ms-access and have a project with 20 KLOC. All the code is VBA with only a couple of windows functions declared (open file dialog etc.). I went to make a new repository and the window frames for modules could be seen opening in the IDE as their code was processed. However after the same sequence of windows had opened about 20 times and the system was non-responsive, I crashed the application. When I reopened the application all the standalone standard and class modules were mis
@ThunderFrame I wonder what kind of Warg I'd be
@Hosch250 hey! How are ya?!
@Duga 20k lines... And API calls...
22:45
[Hosch250/Rubberduck] Hosch250 pushed commit 524a07ba to COMCollectorBugs: Reload the project when the main workbook/document/whatever is renamed. This prevents COM exceptions when accessing other components in the project.
[Hosch250/Rubberduck] Hosch250 pushed commit 5ec672d1 to COMCollectorBugs: Merge branch 'COMCollectorBugs' of github.com/Hosch250/Rubberduck
> @retailcoder Can you look at this?
> I am also using ms-access 2010 and it just through parsing\resolving and inspecting in about 40 seconds for a 20 KLOC project (46 KLOC with whitespace and comments). However the processor remains running a speed with my laptop fan running flat out. The ms-access process is using 50%+ of resources on a core i7. RD Build 2.0.2.41756
> That sounds problematic. Are you on the latest release, and did you shut down Access, or did Rubberduck crash it? If you shut it down, we can't guarantee anything--we need to be allowed to finish exporting the modules for the repo. I think I can optimize this for creating a new repository, instead of unloading and reloading all the components, but when RD is in the middle of unloading/loading components, you should leave it alone so it doesn't leave some not loaded into the project.
@Vogel612 In my mind, you are the three-eyed Raven. ;-)
> That was probably it trying to load the inspection results. For some reason, we are experiencing horrific performance there, and with that large of a project, it could easily spend a minute or so trying to load them.
[Hosch250/Rubberduck] build for commit 5ec672d1 on COMCollectorBugs: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 5ec672d1 on unknown branch: AppVeyor build succeeded
> Ugh, that is the Untyped Function result thing again.
> I crashed ms-access. Maybe it is a case of reporting progress so that the user knows that the process has not hung. I use another method of source control (VCS for ms-access on github) and it works without risk of loosing modules as far as I can tell so I was expecting RubberDuck to be similar. What I did see was that the same sequence of window names kept running over and over again in the title bar, so I assumed the RD process had crashed. Exporting all code with VCS takes about one minu
> @Hosch250 sounds problematic is an epic understatement...
23:02
No Bueno @Duga
Hi @RubberDuck!
What I would like to see fixed...
1. at the moment I am unable to have RD loaded while my code runs because my code periodically opens and closes templates in MS Word and RD crashes
2. when I make a change to my code, sometimes RD decides to re-inspect... it can take a while...

Not sure if either of these have been improved, but neither one of them allows me to keep RD running while I edit and test my code
var declarations = BuiltInDeclarations
    .Where(item => Tokens.Any(token =>
        (item.IdentifierName == token && item.ParentScope == "VBE7.DLL;VBA._HiddenInterface") ||
        (item.IdentifierName == "_B_var_" + token && item.ParentScope == "VBE7.DLL;VBA.Interaction")) &&
        item.DeclarationType == DeclarationType.Function &&
            item.References.Any(reference => Tokens.Contains(reference.IdentifierName)));
Does that look right for Untyped Function Usage, @Mat'sMug?
We are having a lot of false positives, so I needed to limit the scope.
@SlowLearner agreed. COM event sinks must be disabled when the code is running. @Hosch250 can you pull that one off before 2.0.3?
Also, @Mat'sMug, can you give me an example of something that should trigger the inspections.
@Mat'sMug Which code, anything in the VBE?
Yes, I can pull that off.
23:12
Yes
Awesome :-)
I don't get an event when it starts, so I'll just do a check when the event is handled.
Now, back to untyped function...
@Hosch250 untyped function usages should all trigger a result. They're listed in the inspection's code
@Hosch250 that could be a VBE extension method methinks
@Mat'sMug I can figure that much out myself. I'm trying to prevent false positives because there is more than one built-in function called "Left"
Do you have an example of something that should trigger the inspection result and something that shouldn't?
But there's only one in the VBA.Strings module
@Mat'sMug Our inspection wasn't checking for that.
23:15
foo = Left("12345", 3) 'triggers
These are the only declaration parent scopes with the right names in the VBE dll:
"VBE7.DLL;VBA._HiddenInterface"
foo = Left$("12345", 3) ' doesn't
"VBE7.DLL;VBA.Interaction"
@Mat'sMug OK, what about something that calls an Excel Left?
That would be a member call for WorksheetFunction
No member call should trigger that inspection
Ugh.
Can Left/Left$ be handled in the grammar? I.e. as an optional type hint for a function identifier?
23:18
But it can be qualified...e.g. VBA.Strings.Left
@Comintern it's... complicated :-/
Yeah, the qualified example is a good demo of that actually.
I really gotta go now
Well, it didn't work :(
Either I'm still missing some of the declarations, or it isn't being resolved to the ones I'm picking up.
I'm trying to remember what else was in _HiddenInterface.
BTW, is VBA.Interaction._B_var_Left correct?
Hi, @bsudekum.
23:22
I'm pretty sure the way it works internally is by mapping the _HiddenInterface members to a pair of functions.
One will have B_str* (string returning )and the other will have _B_var* (variant returning).
@Mat'sMug bye!
Huh, WTH is up with the markup on _B_str*?
@Hosch250 It should be VBA.Constants._B_var_Left based on what I'm seeing.
Ugh, I think I thoroughly messed the COM collector up.
Or rather, I think there are GUID clashes.
@Comintern Remember when we got the events, how I created a dictionary of the information by GUID?
Yep. There shouldn't be GUID clashes though. Let me check.
Turns out there were a bunch of clashes on items without GUID's. I fixed that by making it not cache those.
I think we still aren't picking them all up, though.
23:27
Module Constants is 343DB180-2BCC-1069-82D4-00DD010EDFAA
Interaction is 39302C40-2BCC-1069-82DA-00DD010EDFAA
Huh.
Does Interaction have a _B_var_Left value?
Also, is Constants clashing with anything else?
Nope. Interaction has pairs for Command and Environ
Ugh.
Something's messed up...
GUIDs:
	Line 4: GUID = {000204EF-0000-0000-C000-000000000046};
	Line 8: GUID = {ED822010-6D7F-11CF-B949-00AA004455EA};
	Line 29: GUID = {ED822011-6D7F-11CF-B949-00AA004455EA};
	Line 52: GUID = {ED822012-6D7F-11CF-B949-00AA004455EA};
	Line 62: GUID = {ED822013-6D7F-11CF-B949-00AA004455EA};
	Line 73: GUID = {ED822014-6D7F-11CF-B949-00AA004455EA};
	Line 85: GUID = {ED822015-6D7F-11CF-B949-00AA004455EA};
	Line 96: GUID = {ED822016-6D7F-11CF-B949-00AA004455EA};
	Line 103: GUID = {ED822017-6D7F-11CF-B949-00AA004455EA};
Also, I've got quite a bit of work ahead making the sinks not work when the VBE isn't in design mode.
We've got everything relying on the sinks working accurately.
Now I need to put all this caching stuff back in the parser...
23:32
Are you getting a full GUID? Some of those will clump together if you miss the most significant byte.
I have no idea.
I'm using the typeAttribute.Guid value.
I group them by "module".
Yeah, each module should have a unique GUID. I'll jump in and make sure they're marshalling correctly.
Longer term it might not be a bad idea to decouple COM collection from Declaration collection.
Well, it isn't fully coupled.
No, but collecting an actual typelib would make a custom object browser implementation easier.
Oh, you mean collect the COM information, then use that to make declarations after we have it all?
23:39
Yep.
That would make sense, but we still need to somehow figure out what is tied into what for the events.
That way we could use the COM information for other stuff easier without having it tied into the resolver.
Right.
Well, it isn't in the resolver, actually, it is in the cache.
Me thinks the next release will mark the start of my quest to uncover code inspection false negatives....
awgaya had done something to eliminate the cache, but we were going to wait until after 2.0 to merge it.
23:41
Damn. When am I going to learn to create feature branches?
Now he's gone and his fork is deleted.
Easiest thing to do would be to grab and extend the msbuild implementation.
Then use what it builds to create declarations.
Actually, I'm not even sure how I'm going to incorporate these into my tree.
Should I be looking in Next or #1909?
Look in Next.
@Comintern That's just the name of the branch.
@Hosch250 wait what stop ... what?
@Vogel612 You didn't know awgaya left?
no. I must've missed that
23:49
their last message doesn't point at anything either..
Wait a sec, any GUID clash would throw a duplicate key exception.
@Comintern No it won't--not the way I'm doing it.
23:51
@Vogel612 No, he was reviewing a PR, then just never came back.
I didn't take that "bye" that literally.
Oh wait, that's right.
I hope nothing happened, and his family isn't just deleting everything they don't want.
that wouldn't explain why he still has a fork of TranslationHelper around
eh well.. we shan't pry
He's not been seen on SE or active on GitHub since we last saw him.
Declarations are correct coming out of GetDeclarationsForReference in my build. I haven't synched in a while though.

« first day (748 days earlier)      last day (2432 days later) »