Add SemanticModel.WithoutAccessChecks() #378
Labels
Area-Compilers
Feature Request
Language-C#
Language-VB
Resolution-Fixed
The bug has been fixed and/or the requested behavior has been implemented
Verified
From: Omer Raviv
Sent: Thursday, November 6, 2014 12:43 PM
Subject: RE: Roslyn issues
Hey Guys,
Thanks a lot for your help, Kevin.
Of the two issues, 1# is the most crucial to us and the one we just can't ship without, so we’d really appreciate any possible help you could give us!
If I understand correctly, what we're asking for here amount to:
SemanticModel
to request a newSemanticModel
that ignores accessibility checks, something likeSemanticModel.WithSuppressAccessibilityChecks
.Binder
is created withBindingOptions.SemanticModel
(9 places by my count), so that it also includesBindingFlags.SuppressAccessibilityChecks
if that's what theSemanticModel
specifies.Binder.IsSymbolAccessibleConditional
that saysthrow ExceptionUtilities.Unreachable;
to sayreturn true;
I'm sure there are many API design considerations here that I'm not aware of, but this is really all we're asking. Without this, we can’t get out of Roslyn the behavior that OzCode inherently depends on, and we’re kind of stuck.
Thanks a lot!
From: Tomas Matousek
Sent: Thursday, November 6, 2014 09:45 PM
Subject: RE: Roslyn issues
I think we need the same features for our EEs and to support interactive.
Re #1: The current implementation of EEs heavily depends on internals of the compiler. I’d like us to use less internal APIs and more public APIs that customers like CodeValue, Xamarin and others could leverage as well.
Re #2: To support interactive we are going to need a metadata reference whose internals are imported. Seems like exactly what Pavel is asking for.
Not sure when this work will be done. We are currently stretched thin.
Tomas
From: Kevin Pilch-Bisson
Sent: Thursday, November 6, 2014 11:36 AM
Subject: RE: Roslyn issues
Hey Guys,
Chuck/Tomas – OzCode is a VS extension that adds a bunch of functionality to the debugging experience. They are looking at moving over to using Roslyn, but there are a couple of issues blocking them at the moment. I’m wondering if you have ideas for workarounds, or thoughts about how we do these things in our own EEs.
Any ideas?
Kevin Pilch-Bisson
http://twitter.com/Pilchie
[issue ported from TFS DevDiv 1078951]
The text was updated successfully, but these errors were encountered: