« first day (1402 days earlier)      last day (1778 days later) » 
00:00 - 20:0020:00 - 00:00

@M.Doerner what I'm still not quite clear is the expected call flow supposed to look like. From what I saw, we only call this once for the sourceinterval 38..40, but we do not attempt to resolve the sourceinterval 39..39... From your comments I gather that I need to ensure that it will proceed to resolve the 39..39, right?
 
[rubberduck-vba/Rubberduck] build for commit ad080f9d on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
No
You resolve once.
The problem is in the method I mentioned.
 
what I don't understand is don't we need to create two declarations from the expression, RefEdit.RefEdit, first to the project, and 2nd to the class?
 
That should provide the reolution of the entire piece.
 
8:16 PM
but where I am, we are not creating declaration yet - we are resolving the token 38..40, which is not possible without returning 2 declarations as the result?
 
You are not creating declarations anywhere in the reference resolver.
 
if I should be resolving only one declaration, then it should be called for each 38..38 and again for 39..39 but that never happens. We only see it called to resolve the 38..40.
 
You are just finding them.
To reolve the type in two declarations is the job of MemberTypeBinding.ResolveClassModule.
 
ah so that is normal.
 
8:20 PM
The problem simply is that MemberAccessTypeBinding.ResolveLExpressionIsProject tries to resolve to the various options in the wrong order.
 
I was expecting to see either individual calls to each token or to return multiple resolutions.
 
You always get back one bound expression.
 
OK, I will rearrange the order and run the tests again and see how it will affect the LHS/RHS.
 
You get back a MemberAccessExpression.
 
Right.
 
8:22 PM
That contains a bound expression for the LExpression and for what is on the right side of the dot.
 
gotcha. Thank you for the explanation
 
Basically, you get one expression back for each context you put in. That expression can have subexpressions based on what subcontexts there are.
 
is it correct to say that the expression that we get back should represent hte most granular?
in this case, the class, rather htan the project
 
No
What you get back is an expression representing the entire thing.
It has subexpressions representing the project and the class.
Logically, it represents the class.
That is just because that is always the case for MemberAccessExpressions.
The tree of expressions just looks like the parse tree.
The thing the reference resolver does is to find and attach the declarations corresponding to the names.
 
[rubberduck-vba/Rubberduck] build for commit 112e378d on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3893?src=pr&el=h1) Report
> Merging [#3893](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3893?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/2ae7fe8128c4103c185537e13692c0ba9982d088?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `19.23%`.


```diff
@@ Coverage Diff @@
## next #3893 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit 112e378d on unknown branch: 57.43% (target 0%)
 
8:31 PM
@MathieuGuindon no translation for the installer? ;)
 
where are the resources?
 
they aren't .resx, unfortunately
they have to be a .iss file.
 
fuck that
 
And how do I know whether it's expecting 'French.Whatever' or 'Français.Something'?
 
8:34 PM
once you create the french file, you would then uncomment the line 116
French.blah
cos I defined it so.
 
(in retrospective, I should have used en, fr and de but blargh. too late.
but I did separate out the translation file so they'd be their own file to make it easier to localize without touching the pascal monster. :)
 
good call
 
welp that's interesting. I flipped the ordering of resolution as Max suggested. The same 2 unit tests still fail.
 
uh, why don't I have a /InnoSetup folder under Rubberduck.Deployment?
 
8:36 PM
?
 
oh, I do - but it's not in the solution
 
oh yeah
cos it's... not Visual Studio. :)
can't tell VS that we've been carouseling with filthy heathens....
 
How does it resolve Set myItem = New RefEdit.RefEdit now?
 
same result but I think I did it wrong - I flipped the ordering in the Resolve but I see now you were talking about ResolveLExpressionIsProject which is called by the Resolve
 
8:41 PM
[rubberduck-vba/Rubberduck] build for commit fad09ca0 on unknown branch: AppVeyor build succeeded
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=h1) Report
> Merging [#3900](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/20a2baba24180b885eec0d38994342bf5ef7dbf5?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #3900 +/- ##
=======================================
[rubberduck-vba/Rubberduck] build for commit fad09ca0 on unknown branch: 57.43% (target 0%)
 
Yes, in there the first should go last, I think.
 
yes, i'm wroking on it now
unrelated, I kind of think the resolver needs a flowchart. lot of things about it are unintuitive to the uninitiated.
@MathieuGuindon oh a reminder - make sure to use unicode
e.g. don't use notepad. ;)
Unless french people likes lot of questions.
 
Just out of curiosity, which unicode? UTF-16?
 
i think UTF-8
Unicode Inno Setup supports UTF-8 encoded .iss files (but not UTF-16).
Unicode Inno Setup supports UTF-8 and UTF-16LE encoded .txt files for LicenseFile, InfoBeforeFile, and InfoAfterFile.
Well that's interesting. Everything pass except for the one that should result in an ResolverError
 
Unless someone wants to do a Chinese translation, that should be ok.
 
8:51 PM
the change of ordering did not affect the LHS / RHS tests.
 
That should only concern the New RefEdit.RefEdit test.
 
oh UTF-8 isn't good for East Asian?
 
AFAIR, Chinese has too many characters.
there are over 70000.
Not that any significant number of people would recognize all.
 
no emojis then?
 
but UTF-8 is capable of storing up to 4 bytes?
50
Q: How many characters can UTF-8 encode?

emreIf UTF-8 is 8 bits, does it not mean that there can be only maximum of 256 different characters? The first 128 code points are the same as in ASCII. But it says UTF-8 can support up to million of characters? How does this work?

UTF-16 means that 2 bytes is always allocated whether you want it or not.
UTF-8 is more space efficient, AIUI.
emojis needs .... something.
@M.Doerner I don't follow.
 
8:55 PM
I just read up on it and realized that I probably mixed it up with something about another encoding I read a long time ago.
 
for the LHS/RHS tests I'm using this input code to verify the LHS/RHS and also the property assignment.... github.com/rubberduck-vba/Rubberduck/pull/3893/…
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=h1) Report
> Merging [#3900](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/20a2baba24180b885eec0d38994342bf5ef7dbf5?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #3900 +/- ##
=======================================
 
@Duga Questions Ahoy!
Sorry I tried to warn you, @MathieuGuindon. :)
 
What's the deal?
 
need to be saved as UTF-8
 
9:00 PM
oh ffs
 
sorry, man.
 
yeah, says ANSI in NP++
 
yes it's easy thing to forget.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=h1) Report
> Merging [#3900](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/20a2baba24180b885eec0d38994342bf5ef7dbf5?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #3900 +/- ##
=======================================
 
Looks better. Wasn't too painful, was it? :)
 
9:06 PM
nah
just an easy trap to fall into :)
I edited it in VS, figured it'd magically be UTF-8
anyone feels like making changes to the website before we get the final 2.2 build on there?
I'm most annoyed by the inspection settings being rather unloadable
 
[rubberduck-vba/Rubberduck] build for commit b084b49e on unknown branch: AppVeyor build succeeded
 
admittedly I haven't tried very hard
but, damn I hate web
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=h1) Report
> Merging [#3900](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/20a2baba24180b885eec0d38994342bf5ef7dbf5?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #3900 +/- ##
=======================================
[rubberduck-vba/Rubberduck] build for commit b084b49e on unknown branch: 57.43% (target 0%)
> Removed the page, updated website will be deployed once we have the final 2.2 build.
> done
> Updated the website with a 2.2 (pre-release) build - could not get the inspection settings loaded... update site no longer features online inspector. Closing this issue for now.
> no longer applicable as of 2.2 (online inspector removed)
> couldn't get online inspector to work with a 2.2 build.
> couldn't get online inspector to work with a 2.2 build - feature will have to be redesigned.
[rubberduck-vba/Rubberduck] build for commit 4f0f7313 on unknown branch: AppVeyor build succeeded
> feature was pulled out
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=h1) Report
> Merging [#3900](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3900?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/20a2baba24180b885eec0d38994342bf5ef7dbf5?src=pr&el=desc) will **not change** coverage.
> The diff coverage is `100%`.


```diff
@@ Coverage Diff @@
## next #3900 +/- ##
=======================================
[rubberduck-vba/Rubberduck] build for commit 4f0f7313 on unknown branch: 57.43% (target 0%)
> This needs to be xml-doc comments in the inspections' code.
[rubberduck-vba/Rubberduck] retailcoder pushed commit fad09ca0 to next: added missing translations
[rubberduck-vba/Rubberduck] retailcoder pushed commit b084b49e to next: added French.CustomMessages.iss
[rubberduck-vba/Rubberduck] retailcoder pushed commit 4f0f7313 to next: fixed ���� encoding
Merge pull request #3900 from retailcoder/translationsFR

adding missing FR translations
[rubberduck-vba/Rubberduck] build for commit 8c95efe2 on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 8c95efe2 on next: 57.43% (target 0%)
 
9:48 PM
Pull requests welcome! #CSharp #AspNetMvc #MyWebsiteSucks #IhateCss #CssHatesMe https://github.com/rubberduck-vba/RubberduckWeb
VBA static code analysis on Rubberduck website will be removed when I deploy. http://rubberduckvba.com/Inspections/List
The online inspector was working off the mocking infrastructure we use for our unit tests; initializing the parser, loading the XML-serialized declarations for a restricted number of common type libraries, parsing & inspecting the code, was much slower than the in-IDE experience.
The 2.2 build massively changes how inspection settings work (vs. 2.1) - even listing inspections by type and correctly listing their respective default severity level is a challenge. So in order to deploy an update today, I'm pulling away the feature for now.
Once we get the website to correctly work out inspection settings, the feature may possibly resurface - but I'm torn about whether it's a nice showcase of a feature, or if it's so painfully slow that it actually makes Rubberduck look bad.
 
okay, all remaining PR's are WIP. T minus 70 minutes - it's time.
 
[rubberduck-vba/Rubberduck] web-flow pushed commit 3a5d811a to next: Merge branch 'master' into next
 
@Duga gosh I hope this wasn't a mistake
 
@MathieuGuindon Eventually, everything's a mistake. :)
At least you're not making your first step in a thousand mile journey. We already made that long ago.
Wowza, 1,000+commits....
 
[rubberduck-vba/Rubberduck] build for commit 8c95efe2 on next: AppVeyor build succeeded
 
10:00 PM
@Duga looking good
maybe I should eat something, it's 6PM and my menu today was two coffees and a peanut butter sandwitch
 
@MathieuGuindon ^ The circular avatar crops off the R and the K.
 
10:15 PM
@ThunderFrame yeah.. will figure out a fix =)
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3893?src=pr&el=h1) Report
> Merging [#3893](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/3893?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/2ae7fe8128c4103c185537e13692c0ba9982d088?src=pr&el=desc) will **increase** coverage by `<.01%`.
> The diff coverage is `19.23%`.


```diff
@@ Coverage Diff @@
## next #3893 +/- ##
=======================
[rubberduck-vba/Rubberduck] build for commit 3a5d811a on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 3a5d811a on next: 57.43% (target 0%)
Merge pull request #3901 from rubberduck-vba/next

Release 2.2
[rubberduck-vba/Rubberduck] build for commit 8fd7e120 on master: GitHub Pages successfully built your site.
> Using @MDoerner 's advice, I changed the ordering for the `MemberAccessTypeBinding` and this enabled us to pass the new unit tests, including the LHS/RHS so we know that the new order did not regress on the assignment.

However, this still fails the test for ambiguous scoping test which should result in a `ResolverError` - I tried to throw an exception but that just crashed everything and returning a `ResolutionFailedExpression` only makes it implicit, and returning a `null` does not have th
 
@Duga can't count beyond 999, eh?
 
Wait it was more than that?
 
yeah 1,016, I think
 
Signs you don't release nearly often enough: "Pushed 999 commits to master"
 
10:24 PM
but Duga apparently can't count beyond that.
 
[rubberduck-vba/Rubberduck] build for commit 6b26b79f on unknown branch: AppVeyor build failed
BUILD FAILURE!
 
@Duga uhm, please tell me that wasn't..
phew
Huh, AV doesn't package a draft release off master anymore?
 
greetings
:)
 
as usual, I just dropped by for advice
 
10:37 PM
what's up?
 
 
(@bclothier is @this on SE chat ;)
 
it would be a good idea to run an inspection only in certain hosts
 
I don't think the host matters as much as the referenced type libs
 
@MathieuGuindon for this inspection, it does
 
10:38 PM
does it? if you're in PowerPoint coding early-bound Excel stuff?
 
Yes it does!
see, Excel.Application gets loaded
because it's an appobject
so therefore in an Access VBA project you all of sudden can do Range(...)
which is evil
 
hmm, right, worksheet code names won't work outside the Excel host
 
exactly so those inspection would result in broken code for an Access VBA project
we don't need that in non-Excel host
but we definitely want that in Excel hosted VBA project for obvious reasons
 
wait a sec...
 
(and ditto for similar yet to be implemented inspections for other hosts)
 
10:40 PM
I must be missing something
 
the about box is doing this:
    public string HostExecutable => string.Format(RubberduckUI.AboutWindow_HostExecutable,
        Path.GetFileName(Application.ExecutablePath).ToUpper()); // .ToUpper() used to convert ExceL.EXE -> EXCEL.EXE
 
since worksheet code names won't work, doesn't that mean that the inspection will throw an exception somewhere (e.g., when calling First)
and, as a result, no inspection result will be generated?
 
no, I think you still have the WorkSheets("Sheet1") available in Access referencing Excel
which in that case, can't be converted to Sheet1.... which is broken
 
OK
I understand
 
[rubberduck-vba/Rubberduck] build for commit 8fd7e120 on master: AppVeyor build succeeded
 
10:42 PM
so the QF would be bad to do in an Access VBA project. But now I think about it -
 
[rubberduck-vba/Rubberduck] build for commit 8fd7e120 on master: 57.43% (target 0%)
 
the sad thing is that we apparently don't resolve Sheet1 to a Worksheet
 
inspecting it might be OK, but the different QF is required
@MathieuGuindon we will.
 
Woohoo, this is exciting! ..and look at that, 1.5K pull requests! #OSS #ReleasingIsFun #WaitingForCloudBuild
Signs you don't release nearly often enough: "Pushed 999 commits to master"
 
@TweetingDuck, you're a speedy gonzales!
 
10:43 PM
hmm, I still think that this is not a problem
because the inspection is looking for a document with given name
can you have Document components in Access?
 
oh, I do have a draft release off [master] :)
 
we do have documents but not Excel.Worksheet, I think.
 
@Kapol Access forms and Access reports are Document components :)
 
so I don't think it's even possible to refer to Sheet1 (as the object) from an Access VBA project.
That said, there's no promise there isn't a form named Sheet1.... :\
 
all right, so what you're saying is Workheets("Foo") will get changed to Foo
if there is a Document called Foo
 
10:45 PM
(we really need to get that typelib api set up for the document resolving.
 
@this it's not. I need to go and edit all the places I wrote "you get a free, global-scope Worksheet instance" and replace "global-scope" with "project-scope"
 
yeah, that would be bad to do in non-Excel project.
 
but it shouldn't because Foo is not an Excel worksheet
makes sense
 
but can Sheet1 be qualified with the project name?
e.g. MyExcelProject.Sheet1
 
oooh, good question...
well for Excel only, I think
Access, no. I can't really reference Excel.
I can automate it, yes, referencing Excel object library
but when i'm automating, I have no Excel VBA project loaded.
 
10:47 PM
right, you'd have to reference the Excel project
...which you can't do in a host that's not Excel
(right?)
 
and unfortunately I dont' think it's possible to reference a VBA project that's not the same host.
 
right
so, problem solves itself
 
No, I can reference other Access VBA project like I can reference Excel projects in Excel
 
i.e. the inspection does need to be host-aware
 
but not Access referencing Excel VBA project (or vice versa)
yeah, and that's why I earlier suggested to @Kapol about either adding a flag or a new attribute
 
10:49 PM
@Kapol how about we introduce a [RequiredHost("EXCEL.EXE")] attribute to address this?
 
to indicate that it's host specific.
 
yup
that was my idea
 
and make it work similarly to [RequiredLibrary("foobar")]
@Kapol :+1:
 
:)
 
10:49 PM
yeah, one hack you can do is to check who's 2nd reference
IINM, the 1st and 2nd references cannot be resorted
and the 1st is always the VBA, 2nd the host
so you can infer the host by the 2nd reference.
 
more like 8 minutes...
 
by the way, @MathieuGuindon, do you remember the shadowed declaration inspection that I have been working on some time ago? At some point its severity has been changed to DoNotShow (by you, if I remember correctly). Do we want to keep it that way?
 
oh, I had forgotten about that one
IIRC it was having issues... some testing would be needed, but if all is good then let's re-enable it by default
 
yes, M.Doerner made some improvements to it, but I don't remember if there wasn't something left
I'll dig in and check what it the current status
is*
 
thanks!
 
11:38 PM
Oh nice, and I thought I was running late. I have a whole hour to write the release notes! #ThanksDST
 
@TweetingDuck well it's 19 minutes now, but thanks anyway
 
on time!
 
00:00 - 20:0020:00 - 00:00

« first day (1402 days earlier)      last day (1778 days later) »