Set TopLevelBinderFlags to IgnoreAccessibility for CsMods, so they are able to access non-public members by default
This commit is contained in:
@@ -194,6 +194,10 @@ namespace Barotrauma
|
|||||||
.WithMetadataImportOptions(MetadataImportOptions.All)
|
.WithMetadataImportOptions(MetadataImportOptions.All)
|
||||||
.WithOptimizationLevel(OptimizationLevel.Release)
|
.WithOptimizationLevel(OptimizationLevel.Release)
|
||||||
.WithAllowUnsafe(true);
|
.WithAllowUnsafe(true);
|
||||||
|
|
||||||
|
var topLevelBinderFlagsProperty = typeof(CSharpCompilationOptions).GetProperty("TopLevelBinderFlags", BindingFlags.Instance | BindingFlags.NonPublic);
|
||||||
|
topLevelBinderFlagsProperty.SetValue(options, (uint)1 << 22);
|
||||||
|
|
||||||
var compilation = CSharpCompilation.Create(CsScriptAssembly, syntaxTrees, defaultReferences, options);
|
var compilation = CSharpCompilation.Create(CsScriptAssembly, syntaxTrees, defaultReferences, options);
|
||||||
|
|
||||||
using (var mem = new MemoryStream())
|
using (var mem = new MemoryStream())
|
||||||
|
|||||||
Reference in New Issue
Block a user