@@ -829,7 +829,7 @@ PropertyDeclaration ConvertProperty(IProperty property)
829829 decl . Name = property . Name ;
830830 decl . Getter = ConvertAccessor ( property . Getter , property . Accessibility , false ) ;
831831 decl . Setter = ConvertAccessor ( property . Setter , property . Accessibility , true ) ;
832- decl . PrivateImplementationType = GetExcplicitInterfaceType ( property ) ;
832+ decl . PrivateImplementationType = GetExplicitInterfaceType ( property ) ;
833833 return decl ;
834834 }
835835
@@ -846,7 +846,7 @@ IndexerDeclaration ConvertIndexer(IProperty indexer)
846846 }
847847 decl . Getter = ConvertAccessor ( indexer . Getter , indexer . Accessibility , false ) ;
848848 decl . Setter = ConvertAccessor ( indexer . Setter , indexer . Accessibility , true ) ;
849- decl . PrivateImplementationType = GetExcplicitInterfaceType ( indexer ) ;
849+ decl . PrivateImplementationType = GetExplicitInterfaceType ( indexer ) ;
850850 return decl ;
851851 }
852852
@@ -910,7 +910,7 @@ MethodDeclaration ConvertMethod(IMethod method)
910910 }
911911 }
912912 decl . Body = GenerateBodyBlock ( ) ;
913- decl . PrivateImplementationType = GetExcplicitInterfaceType ( method ) ;
913+ decl . PrivateImplementationType = GetExplicitInterfaceType ( method ) ;
914914 return decl ;
915915 }
916916
@@ -978,7 +978,8 @@ public static Modifiers ModifierFromAccessibility(Accessibility accessibility)
978978
979979 bool NeedsAccessibility ( IMember member )
980980 {
981- if ( member . DeclaringType . Kind == TypeKind . Interface || member . IsExplicitInterfaceImplementation )
981+ var declaringType = member . DeclaringType ;
982+ if ( ( declaringType != null && declaringType . Kind == TypeKind . Interface ) || member . IsExplicitInterfaceImplementation )
982983 return false ;
983984 switch ( member . SymbolKind ) {
984985 case SymbolKind . Constructor :
@@ -1000,7 +1001,8 @@ Modifiers GetMemberModifiers(IMember member)
10001001 if ( member . IsStatic ) {
10011002 m |= Modifiers . Static ;
10021003 } else {
1003- if ( member . IsAbstract && member . DeclaringType . Kind != TypeKind . Interface )
1004+ var declaringType = member . DeclaringType ;
1005+ if ( member . IsAbstract && declaringType != null && declaringType . Kind != TypeKind . Interface )
10041006 m |= Modifiers . Abstract ;
10051007 if ( member . IsOverride )
10061008 m |= Modifiers . Override ;
@@ -1075,7 +1077,7 @@ NamespaceDeclaration ConvertNamespaceDeclaration(INamespace ns)
10751077 return new NamespaceDeclaration ( ns . FullName ) ;
10761078 }
10771079
1078- AstType GetExcplicitInterfaceType ( IMember member )
1080+ AstType GetExplicitInterfaceType ( IMember member )
10791081 {
10801082 if ( member . IsExplicitInterfaceImplementation ) {
10811083 var baseMember = member . ImplementedInterfaceMembers . FirstOrDefault ( ) ;
0 commit comments