Example #1
0
        public void InitializeVirtualMembers(MethodNameGroups groups, IResolver resolver)
        {
            if (initializeVirtualMembersCalled)
            {
                return;
            }
            initializeVirtualMembersCalled = true;

            foreach (var iface in interfaces)
            {
                iface.typeDef.InitializeVirtualMembers(groups, resolver);
            }
            if (baseType != null)
            {
                baseType.typeDef.InitializeVirtualMembers(groups, resolver);
            }

            foreach (var methodDef in methods.GetValues())
            {
                if (methodDef.IsVirtual())
                {
                    groups.Add(methodDef);
                }
            }

            InstantiateVirtualMembers(groups);
            InitializeInterfaceMethods(groups);
        }
Example #2
0
		public void InitializeVirtualMembers(MethodNameGroups groups, IResolver resolver) {
			if (initializeVirtualMembersCalled)
				return;
			initializeVirtualMembersCalled = true;

			foreach (var iface in interfaces)
				iface.typeDef.InitializeVirtualMembers(groups, resolver);
			if (baseType != null)
				baseType.typeDef.InitializeVirtualMembers(groups, resolver);

			foreach (var methodDef in methods.GetValues()) {
				if (methodDef.IsVirtual())
					groups.Add(methodDef);
			}

			InstantiateVirtualMembers(groups);
			InitializeInterfaceMethods(groups);
		}