Esempio n. 1
0
		void TranslateModifiers(MethodDefinition method, AbstractMember m)
		{
			if (m.DeclaringTypeDefinition.ClassType == ClassType.Interface) {
				// interface members don't have modifiers, but we want to handle them as "public abstract"
				m.Accessibility = Accessibility.Public;
				m.IsAbstract = true;
			} else {
				m.Accessibility = GetAccessibility(method.Attributes);
				if (method.IsAbstract) {
					m.IsAbstract = true;
					m.IsOverride = !method.IsNewSlot;
				} else if (method.IsFinal) {
					if (!method.IsNewSlot) {
						m.IsSealed = true;
						m.IsOverride = true;
					}
				} else if (method.IsVirtual) {
					if (method.IsNewSlot)
						m.IsVirtual = true;
					else
						m.IsOverride = true;
				}
				m.IsStatic = method.IsStatic;
			}
		}
Esempio n. 2
0
		void FinishReadMember(AbstractMember member)
		{
			member.Freeze();
			member.ApplyInterningProvider(this.InterningProvider);
		}