[rubberduck-vba/Rubberduck]retailcoder pushed commit 09035e36 to GrammarIsFun: rebuilt grammar again - fixed block statement rule. With blocks resolve correctly, but not nested ones. Left-side "Set" assignments are also resolved.
And we'll need to document the fact that nested With blocks throw an exception.. might want to catch that one and show user some "Dude, WTF" message though...
(or alternatively, get that to work, too. Shouldn't be impossible)
I think part of why it's not blowing up and works pretty well is because I didn't override EnterAmbiguousIdentifier on the listener... but I think I'll have to, to pick up the rest of the identifier references. I need it to only resolve identifiers that haven't been resolved already... that's the hard part.
@RubberDuck might not be. The 1.3 code finds identifiers and attempts to find what it's referring to. That's how Application.Selection becomes a reference to a Selection local variable. The new code doesn't do that.
> In either case the should come from a db, feed or even text file and not be hardcoded. Like this you need to recompile/redeploy each time a new strategy is created *(even if C# 6 has Roslyn).
I don't get it... yeah. Of course I hardcoded it into my tests. They're frakking tests for christ's sake...
Basically when you want to provide conversions between types. LINQ to XML provides good examples... There's an implicit conversion from string to XName, so you can write:
XName name = "element";
but there's an explicit conversion from XAttribute to int (and many other types) so you have to inc...
actually... I remember the first time I used an XName, and went all WTF over "name" being accepted for an XName arg.
I'd rather have seen XName.FromString("name")
I get the syntax sugar, but implicit conversions are utterly confusing
implicit conversions are like C# behaving like... VBA
Under COM, "private" meant "instance-private". I think this was in some measure because a definition of class Foo effectively represented an interface and an implementing class; since COM didn't have a concept of a class-object reference--just an interface reference--there was no way a class could hold a reference to something that was guaranteed to be another instance of that class. This interface-based design made some things cumbersome, but it meant one could design a class which was substitutable for another without it having to share any of the same internals. — supercatDec 17 '12 at 2:16
and you can't be a "Software Engineer" in Canada (at least not in Quebec), because you can't just call yourself an engineer. just like you can't just call yourself a doctor.
'Create instance
Dim wellObj As CWell
Set wellObj = New CWell
.
.
.
Private Sub Well_List_Click()
'Must check if null..
If Not (Well_List.Column(1, row) = "") Then
wellObj.wellName = Well_List.Column(1, row)
End If
If Not (Well_List.Column(2, row) = "") Then
wellObj.wellActive = Wel...