File tree Expand file tree Collapse file tree 1 file changed +20
-4
lines changed Expand file tree Collapse file tree 1 file changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -123,28 +123,44 @@ private void AddSupertypesForDocumentModules(IReadOnlyCollection<QualifiedModule
123123
124124            foreach  ( var  documentDeclaration  in  documentModuleDeclarations ) 
125125            { 
126-                 var  documentSupertype  =  SupertypeForDocument ( documentDeclaration . QualifiedName . QualifiedModuleName ,  documentDeclaration . AsTypeName ,   state ) ; 
126+                 var  documentSupertype  =  SupertypeForDocument ( documentDeclaration . QualifiedName . QualifiedModuleName ,  state ) ; 
127127                if  ( documentSupertype  !=  null ) 
128128                { 
129129                    ( ( ClassModuleDeclaration ) documentDeclaration ) . AddSupertype ( documentSupertype ) ; 
130130                } 
131131            } 
132132        } 
133133
134-         private  Declaration  SupertypeForDocument ( QualifiedModuleName  module ,  string   asTypeName ,   RubberduckParserState  state ) 
134+         private  Declaration  SupertypeForDocument ( QualifiedModuleName  module ,  RubberduckParserState  state ) 
135135        { 
136-             if ( module . ComponentType  !=  ComponentType . Document  ||  module . Component ? . Properties  ==  null ) 
136+             if ( module . ComponentType  !=  ComponentType . Document  ||  module . Component  ==  null ) 
137137            { 
138138                return  null ; 
139139            } 
140140
141-             var  documentPropertyCount  =  module . Component . Properties . Count ; 
141+             int  documentPropertyCount  =  0 ; 
142+             try 
143+             { 
144+                 if ( module . Component . IsWrappingNullReference 
145+                     ||  module . Component . Properties  ==  null 
146+                     ||  module . Component . Properties . IsWrappingNullReference ) 
147+                 { 
148+                     return  null ; 
149+                 } 
150+                 documentPropertyCount  =  module . Component . Properties . Count ; 
151+             } 
152+             catch ( COMException ) 
153+             { 
154+                 return  null ; 
155+             } 
142156
143157            Declaration  superType  =  null ; 
144158            foreach  ( var  coclass  in  state . CoClasses ) 
145159            { 
146160                try 
147161                { 
162+                     
163+ 
148164                    if  ( coclass . Key . Count  !=  documentPropertyCount ) 
149165                    { 
150166                        continue ; 
 
 
   
 
     
   
   
          
    
    
     
    
      
     
     
    You can’t perform that action at this time.
  
 
    
  
    
      
        
     
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments