Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

Commit

Permalink
* Mono.Addins.mds, Mono.Addins.Gui/AssemblyInfo.cs,
Browse files Browse the repository at this point in the history
  Mono.Addins.CecilReflector,
  Mono.Addins.CecilReflector/AssemblyInfo.cs,
  Mono.Addins.CecilReflector/Mono.Cecil,
  Mono.Addins.CecilReflector/Mono.Cecil/configure,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.dll.sources,
  Mono.Addins.CecilReflector/Mono.Cecil/default.build,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.csproj,
  Mono.Addins.CecilReflector/Mono.Cecil/AUTHORS,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/InterfaceCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericParameter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyLinkedResource.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ModuleReferenceCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ArrayType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodSpecification.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ICustomAttributeProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TypeSpecification.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IReflectionVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ReflectionHelper.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/OverrideCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/BaseAssemblyResolver.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/CallSite.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ArrayDimensionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/SecurityDeclarationReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericInstanceType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ModuleReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ParameterDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IReflectionVisitable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/EventDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/FieldDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PropertyDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ModuleDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IImporter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IMethodSignature.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TypeReferenceCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PInvokeAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ArrayDimension.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ParameterAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/FunctionPointerType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericParameterCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PropertyAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyInfo.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/FieldDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/StructureWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/CustomAttribute.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TypeReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericInstanceMethod.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MemberReferenceCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/BaseReflectionReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyNameReferenceCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IHasSecurity.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodCallingConvention.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ReflectionReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodReturnType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/NativeType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IMemberDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TypeDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IHasConstant.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IMemberReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IMetadataTokenProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/DefaultImporter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IHasMarshalSpec.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/BaseStructureVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/Constants.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/SecurityDeclaration.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/LinkedResource.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ImportContext.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyKind.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/FileAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/FieldAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyHashAlgorithm.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/CompactFrameworkCompatibility.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ReferenceType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PropertyReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ResourceCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyFactory.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ReflectionException.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IGenericInstance.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/NullReferenceImporter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PinnedType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PointerType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ExternTypeCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericParameterAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IReflectionStructureVisitable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TypeAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyNameDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/SecurityDeclarationCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TargetRuntime.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericArgumentCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IAnnotationProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyNameReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ConstraintCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/EventReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/EmbeddedResource.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/BaseReflectionVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/CustomAttributeCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/SentinelType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/StructureReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ManifestResourceAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/EventDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ModuleDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ReflectionController.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MarshalSpec.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TypeDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/VariantType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IAssemblyResolver.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IRequireResolving.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IMetadataScope.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MemberReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/Resource.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PInvokeInfo.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ReflectionWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/HashCodeProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AggressiveReflectionReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IDetailReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/FieldReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/SecurityAction.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodImplAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/GenericContext.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/Modifiers.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/EventAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ParameterDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/AssemblyFlags.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/PropertyDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/MethodSemanticsAttributes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ParameterReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/NestedTypeCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/IGenericParameterProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/ConstructorCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/TableComparers.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil/DefaultAssemblyResolver.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/ChangeLog,
  Mono.Addins.CecilReflector/Mono.Cecil/mono-cecil.pc.in,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/OpCodeType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/Document.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/Instruction.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/SequencePoint.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/MethodHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/DocumentHashAlgorithm.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandler.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/IScopeProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/CodeReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/CilWorker.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ISymbolReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/VariableReference.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/CodeWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/FlowControl.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/OpCode.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/VariableDefinitionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/Code.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ISymbolWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/GuidAttribute.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/DocumentType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguage.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/IVariableDefinitionProvider.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/SymbolStoreHelper.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ISymbolStoreFactory.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ScopeCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/BaseCodeVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ICodeVisitable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/OperandType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/OpCodes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/InstructionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/MethodBody.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/VariableDefinition.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/MethodDataSection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/DocumentLanguageVendor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/ExceptionHandlerCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/Scope.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Cil/StackBehaviour.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/README,
  Mono.Addins.CecilReflector/Mono.Cecil/standalone.make,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-gen.rb,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-gen-tests.rb,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-update-rev,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-gen-sources.rb,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-gen-types.rb,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-mig.rb,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil-gen-attributes.rb,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/cecil.xml,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/MetadataTableReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/BaseMetadataVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/Utilities.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/MetadataRowReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/IndexedCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/OpCodes.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/NamedCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/Tests.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/MetadataRowWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/MetadataTableWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/CodedIndex.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/Table.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/IMetadataVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/CodeGen/templates/Code.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Assembly.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/PropertyMap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/InterfaceImpl.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataInitializer.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ParamPtr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Constant.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/BaseMetadataVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MethodSpec.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/DeclSecurity.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/TypeDef.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/GenericParamConstraint.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MethodImpl.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/EventPtr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/NestedClass.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefProcessor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRef.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/AssemblyRefOS.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Method.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/RowCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataTableWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/StringsHeap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ElementType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ExportedType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/CustomAttribute.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Param.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ClassLayout.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataRowWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataFormatException.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/PropertyPtr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Utilities.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/BlobHeap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/AssemblyOS.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/IMetadataRow.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataToken.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ModuleRef.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataRoot.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/UserStringsHeap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/FieldMarshal.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/GenericParam.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ImplMap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/TableCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/CultureUtils.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/CodedIndex.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/TablesHeap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataStreamCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/FieldPtr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/TypeRef.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataHeap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/ManifestResource.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/AssemblyProcessor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/File.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/EventMap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Event.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/FieldLayout.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/TokenType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Field.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Property.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/Module.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/GuidHeap.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MethodSemantics.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/StandAloneSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/FieldRVA.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MetadataStream.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/TypeSpec.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/IMetadataTable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MemberRef.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/MethodPtr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Metadata/IMetadataVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/TODO,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Xml,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Xml/ChangeLog,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Xml/SecurityParser.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Xml/SmallXmlParser.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Xml/MiniParser.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/BaseSignatureVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/MethodRefSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/CustomAttrib.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/FieldSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Var.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/FnPtr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/SzArray.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/MethodSpec.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/ArrayShape.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Ptr.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/MVar.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/GenericArg.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/LocalVarSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Array.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/ValueType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/MethodSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/SigType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/SignatureReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Constraint.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/PropertySig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/MarshalSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/ISignatureVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/RetType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/GenericInstSignature.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/TypeSpec.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/SignatureWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/InputOutputItem.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Param.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Signature.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/MethodDefSig.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/Class.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/GenericInst.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Signatures/CustomMod.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/PEFileHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/SectionCollection.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryTable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/RuntimeImage.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ExportTable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/BaseImageVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceNode.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/Imports.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryEntry.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/DOSHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/DebugHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/SectionCharacteristics.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceDirectoryString.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceDataEntry.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/Section.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/DebugStoreType.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ImageReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ImageFormatException.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ImageCharacteristics.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ImageWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/CLIHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/Image.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/PEOptionalHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ImageInitializer.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/RVA.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/CopyImageVisitor.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/DataDirectory.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/SubSystem.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/IBinaryVisitable.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/IHeader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/MemoryBinaryWriter.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/Mono.Cecil.Binary/ResourceReader.cs,
  Mono.Addins.CecilReflector/Mono.Cecil/NEWS,
  Mono.Addins.CecilReflector/Mono.Cecil/Makefile,
  Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.mdp,
  Mono.Addins.CecilReflector/Mono.Addins.CecilReflector,
  Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs,
  configure.ac, Mono.Addins.Setup/AssemblyInfo.cs,
  Mono.Addins/AssemblyInfo.cs, Mono.Addins/Mono.Addins.mdp,
  Mono.Addins/Mono.Addins/NodeAttributeAttribute.cs,
  Mono.Addins/Mono.Addins/TypeExtensionPointAttribute.cs,
  Mono.Addins/Mono.Addins/ExtensionPointAttribute.cs,
  Mono.Addins/Mono.Addins/ExtensionNodeChildAttribute.cs,
  Mono.Addins/Makefile.am,
  Mono.Addins/Mono.Addins.Database/IAssemblyReflector.cs,
  Mono.Addins/Mono.Addins.Database/AddinScanResult.cs,
  Mono.Addins/Mono.Addins.Database/AddinDatabase.cs,
  Mono.Addins/Mono.Addins.Database/AddinScanner.cs,
  Mono.Addins/Mono.Addins.Database/DefaultAssemblyReflector.cs,
  Makefile.am: Added support for pluggable add-in assembly
  reflectors. Implemented an add-in assembly reflector based on
  Cecil.

svn path=/trunk/mono-addins/; revision=95038
  • Loading branch information
slluis committed Feb 6, 2008
1 parent f119bb5 commit bafa8c2
Show file tree
Hide file tree
Showing 370 changed files with 48,979 additions and 84 deletions.
11 changes: 11 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
2008-02-06 Lluis Sanchez Gual <lluis@novell.com>

* Mono.Addins.mds, Mono.Addins.CecilReflector,
Mono.Addins.CecilReflector/AssemblyInfo.cs,
Mono.Addins.CecilReflector/Mono.Cecil,
Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.mdp,
Mono.Addins.CecilReflector/Mono.Addins.CecilReflector,
Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs,
configure.ac, Makefile.am: Added support for pluggable add-in assembly
reflectors. Implemented an add-in assembly reflector based on Cecil.

2008-01-30 Michael Hutchinson <mhutchinson@novell.com>

* configure.in: Bump release number to 0.3.1.
Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

SUBDIRS = Mono.Addins Mono.Addins.Setup Mono.Addins.Gui mautil Test Samples
SUBDIRS = Mono.Addins Mono.Addins.CecilReflector Mono.Addins.Setup Mono.Addins.Gui mautil Test Samples

DOCFILES = \
$(top_builddir)/bin/Mono.Addins.dll \
Expand Down
20 changes: 20 additions & 0 deletions Mono.Addins.CecilReflector/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using System.Reflection;
using System.Runtime.CompilerServices;

// Information about this assembly is defined by the following
// attributes.
//
// change them to the information which is associated with the assembly
// you compile.

[assembly: AssemblyTitle("Mono.Addins.CecilReflector")]
[assembly: AssemblyCopyright("Copyright (C) 2007 Novell, Inc (http://www.novell.com)")]

// The assembly version has following format :
//
// Major.Minor.Build.Revision
//
// You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default):

[assembly: AssemblyVersion("0.4.0.0")]
357 changes: 357 additions & 0 deletions Mono.Addins.CecilReflector/Mono.Addins.CecilReflector.mdp

Large diffs are not rendered by default.

285 changes: 285 additions & 0 deletions Mono.Addins.CecilReflector/Mono.Addins.CecilReflector/Reflector.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,285 @@
// Reflector.cs
//
// Author:
// Lluis Sanchez Gual <lluis@novell.com>
//
// Copyright (c) 2007 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
//
//

using System;
using System.Collections;
using System.Reflection;
using Mono.Addins;
using Mono.Addins.Database;
using Mono.Cecil;

namespace Mono.Addins.CecilReflector
{
public class Reflector: IAssemblyReflector
{
IAssemblyLocator locator;
Hashtable cachedAssemblies = new Hashtable ();

public void Initialize (IAssemblyLocator locator)
{
this.locator = locator;
}

public object[] GetCustomAttributes (object obj, Type type, bool inherit)
{
Mono.Cecil.ICustomAttributeProvider aprov = obj as Mono.Cecil.ICustomAttributeProvider;
if (aprov == null)
return new object [0];

ArrayList atts = new ArrayList ();
foreach (CustomAttribute att in aprov.CustomAttributes) {
object catt = ConvertAttribute (att, type);
if (catt != null)
atts.Add (catt);
}
return atts.ToArray ();
}

object ConvertAttribute (CustomAttribute att, Type t)
{
string aname = att.Constructor.DeclaringType.FullName;
if (aname != t.FullName)
return null;

object ob;

if (att.ConstructorParameters.Count > 0) {
object[] cargs = new object [att.ConstructorParameters.Count];
att.ConstructorParameters.CopyTo (cargs, 0);
ArrayList typeParameters = null;

// Constructor parameters of type System.Type can't be set because types from the assembly
// can't be loaded. The parameter value will be set later using a type name property.
for (int n=0; n<cargs.Length; n++) {
string atype = att.Constructor.Parameters[n].ParameterType.FullName;
if (atype == "System.Type") {
if (typeParameters == null)
typeParameters = new ArrayList ();
cargs [n] = typeof(object);
typeParameters.Add (n);
}
}
ob = Activator.CreateInstance (t, cargs);

// If there are arguments of type System.Type, set them using the property
if (typeParameters != null) {
Type[] ptypes = new Type [cargs.Length];
for (int n=0; n<cargs.Length; n++) {
ptypes [n] = cargs [n].GetType ();
}
ConstructorInfo ci = t.GetConstructor (ptypes);
ParameterInfo[] ciParams = ci.GetParameters ();

for (int n=0; n<typeParameters.Count; n++) {
int ip = (int) typeParameters [n];
string propName = ciParams[ip].Name;
propName = char.ToUpper (propName [0]) + propName.Substring (1) + "Name";
PropertyInfo pi = t.GetProperty (propName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
pi.SetValue (ob, (string) att.ConstructorParameters [ip], null);
if (pi == null)
throw new InvalidOperationException ("Property '" + propName + "' not found in type '" + t + "'.");
}
}
} else {
ob = Activator.CreateInstance (t);
}

foreach (DictionaryEntry de in att.Properties) {
string pname = (string)de.Key;
PropertyInfo prop = t.GetProperty (pname);
if (prop != null) {
if (prop.PropertyType == typeof(System.Type)) {
// We can't load the type. We have to use the typeName property instead.
pname += "Name";
prop = t.GetProperty (pname, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
}
if (prop == null) {
throw new InvalidOperationException ("Property '" + pname + "' not found in type '" + t + "'.");
}
prop.SetValue (ob, de.Value, null);
}
}
return ob;
}

public object LoadAssembly (string file)
{
return LoadAssembly (file, false);
}

public AssemblyDefinition LoadAssembly (string file, bool cache)
{
AssemblyDefinition adef = (AssemblyDefinition) cachedAssemblies [file];
if (adef != null)
return adef;
adef = AssemblyFactory.GetAssembly (file);
if (adef != null && cache)
cachedAssemblies [file] = adef;
return adef;
}

public object LoadAssemblyFromReference (object asmReference)
{
AssemblyNameReference aref = (AssemblyNameReference) asmReference;
string loc = locator.GetAssemblyLocation (aref.FullName);
if (loc != null)
return LoadAssembly (loc);
else
return null;
}

public System.Collections.IEnumerable GetAssemblyTypes (object asm)
{
TypeDefinitionCollection types = ((AssemblyDefinition)asm).MainModule.Types;
foreach (IAnnotationProvider t in types)
t.Annotations [typeof(AssemblyDefinition)] = asm;
return types;
}

public System.Collections.IEnumerable GetAssemblyReferences (object asm)
{
return ((AssemblyDefinition)asm).MainModule.AssemblyReferences;
}

public object GetType (object asm, string typeName)
{
IAnnotationProvider t = ((AssemblyDefinition)asm).MainModule.Types [typeName];
if (t != null) {
t.Annotations [typeof(AssemblyDefinition)] = asm;
return t;
} else
return null;
}

public object GetCustomAttribute (object obj, Type type, bool inherit)
{
foreach (object att in GetCustomAttributes (obj, type, inherit))
if (type.IsInstanceOfType (obj))
return att;
return null;
}

public string GetTypeName (object type)
{
return ((TypeDefinition)type).Name;
}

public string GetTypeFullName (object type)
{
return ((TypeDefinition)type).FullName;
}

public string GetTypeAssemblyQualifiedName (object type)
{
AssemblyDefinition asm = GetAssemblyDefinition ((TypeDefinition)type);
return ((TypeDefinition)type).FullName + ", " + asm.Name.FullName;
}

AssemblyDefinition GetAssemblyDefinition (TypeDefinition t)
{
IAnnotationProvider aprov = (IAnnotationProvider) t;
return (AssemblyDefinition) aprov.Annotations [typeof(AssemblyDefinition)];
}

public System.Collections.IEnumerable GetBaseTypeFullNameList (object type)
{
TypeDefinition t = (TypeDefinition) type;
AssemblyDefinition asm = GetAssemblyDefinition (t);

ArrayList list = new ArrayList ();
Hashtable visited = new Hashtable ();
GetBaseTypeFullNameList (visited, list, asm, t);
return list;
}

void GetBaseTypeFullNameList (Hashtable visited, ArrayList list, AssemblyDefinition asm, TypeReference tr)
{
TypeDefinition type = FindTypeDefinition (asm, tr);
if (type == null)
return;

asm = GetAssemblyDefinition (type);

TypeReference btype = type.BaseType;
if (btype != null && btype.FullName != "System.Object" && !visited.Contains (btype.FullName)) {
list.Add (btype.FullName);
visited [btype.FullName] = btype;
GetBaseTypeFullNameList (visited, list, asm, btype);
}
foreach (TypeReference interf in type.Interfaces) {
GetBaseTypeFullNameList (visited, list, asm, interf);
}
}

TypeDefinition FindTypeDefinition (AssemblyDefinition referencer, TypeReference rt)
{
if (rt is TypeDefinition)
return (TypeDefinition) rt;

string name = rt.FullName;
TypeDefinition td = GetType (referencer, name) as TypeDefinition;
if (td != null)
return td;

foreach (AssemblyNameReference aref in referencer.MainModule.AssemblyReferences) {
string loc = locator.GetAssemblyLocation (aref.FullName);
if (loc == null)
continue;
AssemblyDefinition asm = LoadAssembly (loc, true);
td = GetType (asm, name) as TypeDefinition;
if (td != null)
return td;
}
return null;
}

public bool TypeIsAssignableFrom (object baseType, object type)
{
string baseName = ((TypeDefinition)baseType).FullName;
foreach (string bt in GetBaseTypeFullNameList (type))
if (bt == baseName)
return true;
return false;
}

public IEnumerable GetFields (object type)
{
return ((TypeDefinition)type).Fields;
}

public string GetFieldName (object field)
{
return ((FieldDefinition)field).Name;
}

public string GetFieldTypeFullName (object field)
{
return ((FieldDefinition)field).FieldType.FullName;
}

}
}
1 change: 1 addition & 0 deletions Mono.Addins.CecilReflector/Mono.Cecil/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Jb Evain (jbevain@gmail.com)
Loading

0 comments on commit bafa8c2

Please sign in to comment.