Conversation started Feb 11, 2015 at 15:22.
Feb 11, 2015 15:22
> You're right, hadn't realized `Extension` and `DockableWindowHost` were now `_Extension` and `_DockableWindowHost` - no need for a `Rubberduck.Core` then!

But I don't see a reason why VBIDE extensions and/or parser stuff would need to be part of `Rubberduck.Reflection`, it seems completely backwards to me; they *are* at the heart of Rubberduck and completely belong with the "Core" stuff. If `Reflection` needs it, it can just use them... if `Rubberduck.Reflection` references `Rubberduck` :)
oh I see what you mean
but INode is not really part of the parser stuff
the COM interfaces for that don't need to be in the core lib
> Then I would make it a completely separate assembly/.tlb, so users can't inadvertantly enable the reflection API, and IT departments can deem it "unsafe" without ruining all of Rubberduck.
That's ^ what I'm basing this off of @Mat'sMug.
INode/parsing isn't dangerous. Emitting code can be.
But there's no reason for them not to be if we're not worried about enabling reflection.
Personally, I wouldn't split any of it unless there's a really good reason.
So, admitedly, the VBIDE is dangerous. So, if that's what we're worried about, then we need an Rubberduck.Extensibility assembly.
"Core" (not really a core) would reference it for what it needs.
hmm
I think I like this more than I care to admit.
yeah, Rubberduck.Extensibility makes sense, with all the VBIDE stuff wrapped up.
Then Rubberduck references it, and Rubberduck.Reflection references both Rubberduck and Rubberduck.Extensibility
Feb 11, 2015 15:33
@Mat'sMug Does Reflection really need it's own assembly? I mean, I don't care if it does. I'm just curious what all you plan on putting in there.
@RubberDuck the screenshot I took was with the toolbar floating - that one is docked onto the toolbar area.. it's the same toolbar though ;)
If it's a whole collection of classes, then it may make sense.
 
Conversation ended Feb 11, 2015 at 15:34.