Esempio n. 1
0
        public void UsingAMethodMarkedAsNotUsableFromScriptGivesAnError()
        {
            var er = new MockErrorReporter(false);

            Compile(new[] { "class Class { int UnusableMethod() {} public void M() { System.Func<int> f; f = UnusableMethod; } }" }, metadataImporter: new MockMetadataImporter {
                GetMethodSemantics = m => m.Name == "UnusableMethod" ? MethodScriptSemantics.NotUsableFromScript() : MethodScriptSemantics.NormalMethod(m.Name)
            }, errorReporter: er);
            Assert.That(er.AllMessagesText.Any(m => m.StartsWith("Error:") && m.Contains("Class.UnusableMethod")));
        }
Esempio n. 2
0
        public void MethodImplementedAsNotUsableFromScriptDoesNotAppearOnTheType()
        {
            var metadataImporter = new MockMetadataImporter {
                GetMethodSemantics = method => MethodScriptSemantics.NotUsableFromScript()
            };

            Compile(new[] { "class C { public static void M() {} }" }, metadataImporter: metadataImporter);
            FindClass("C").InstanceMethods.Should().BeEmpty();
        }