protected AbstractDotNetAssemblyDependencyReader(DotNetAssemblyDependencyReaderFactory readerFactory, string fileName,
                                                  DotNetAssemblyDependencyReaderFactory.ReadingContext readingContext)
     : base(Path.GetFullPath(fileName), Path.GetFileName(fileName))
 {
     ReaderFactory   = readerFactory;
     _readingContext = readingContext;
     Assemblyname    = Path.GetFileNameWithoutExtension(fileName);
 }
        protected static void GetTypeInfo(TypeReference reference, out string namespaceName, out string className,
                                          out string assemblyName, out string assemblyVersion, out string assemblyCulture)
        {
            if (reference.DeclaringType != null)
            {
                string parentClassName, ignore1, ignore2, ignore3;
                GetTypeInfo(reference.DeclaringType, out namespaceName, out parentClassName, out ignore1, out ignore2, out ignore3);
                className = parentClassName + "/" + CleanClassName(reference.Name);
            }
            else
            {
                namespaceName = reference.Namespace;
                className     = CleanClassName(reference.Name);
            }

            DotNetAssemblyDependencyReaderFactory.GetTypeAssemblyInfo(reference, out assemblyName, out assemblyVersion, out assemblyCulture);
        }
Пример #3
0
        public FullDotNetAssemblyDependencyReader(DotNetAssemblyDependencyReaderFactory readerFactory, string fileName,
                                                  DotNetAssemblyDependencyReaderFactory.ReadingContext readingContext)
            : base(readerFactory, fileName, readingContext)
        {
            _propertyDefinitionMarkers = new[] {
                CreateCheck <PropertyDefinition>(t => t.IsDefinition, _definition),
                // and maybe more, from other Mono.Cecil information
            }.Concat(ForwardToTypeDefinition((PropertyDefinition p) => Resolve(p.PropertyType))).ToArray();

            _fieldDefinitionMarkers = new[] {
                CreateCheck <FieldDefinition>(t => t.IsDefinition, _definition),
                CreateCheck <FieldDefinition>(t => t.IsPublic, _public),
                CreateCheck <FieldDefinition>(t => t.IsPrivate, _private),
                CreateCheck <FieldDefinition>(t => t.IsStatic, _static),
                CreateCheck <FieldDefinition>(t => t.IsLiteral, _const),
                CreateCheck <FieldDefinition>(t => t.IsInitOnly, _readonly),
                CreateCheck <FieldDefinition>(t => t.IsNotSerialized, _notserialized),
                CreateCheck <FieldDefinition>(t => t.IsFamilyOrAssembly || t.IsFamily || t.IsFamilyAndAssembly, _protected),
                CreateCheck <FieldDefinition>(t => t.IsCompilerControlled || t.IsFamilyOrAssembly || t.IsAssembly || t.IsFamilyAndAssembly, _internal),
                // and maybe more, from other Mono.Cecil information
            }.Concat(ForwardToTypeDefinition((FieldDefinition p) => Resolve(p.FieldType))).ToArray();
        }
Пример #4
0
 public ItemsOnlyDotNetAssemblyDependencyReader(DotNetAssemblyDependencyReaderFactory readerFactory,
                                                string fileName, DotNetAssemblyDependencyReaderFactory.ReadingContext readingContext)
     : base(readerFactory, fileName, readingContext)
 {
 }