internal sealed override IEnumerable <PropertyInfo> SpecializeProperties(NameFilter filter, Type reflectedType, RoInstantiationProviderType declaringType) { MetadataReader reader = Reader; foreach (PropertyDefinitionHandle handle in TypeDefinition.GetProperties()) { if (filter == null || filter.Matches(handle.GetPropertyDefinition(reader).Name, reader)) { yield return(new EcmaProperty(declaringType, handle, reflectedType)); } } }
internal sealed override IEnumerable <MethodInfo> SpecializeMethods(NameFilter filter, Type reflectedType, RoInstantiationProviderType declaringType) { MetadataReader reader = Reader; foreach (MethodDefinitionHandle handle in TypeDefinition.GetMethods()) { MethodDefinition methodDefinition = handle.GetMethodDefinition(reader); if (filter == null || filter.Matches(methodDefinition.Name, reader)) { if (!methodDefinition.IsConstructor(reader)) { yield return(new RoDefinitionMethod <EcmaMethodDecoder>(declaringType, reflectedType, new EcmaMethodDecoder(handle, GetEcmaModule()))); } } } }