File tree 1 file changed +5
-0
lines changed
1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -163,6 +163,7 @@ impl<'ctx> MonotoneFramework for HasVtableAnalysis<'ctx> {
163
163
}
164
164
165
165
fn constrain ( & mut self , id : ItemId ) -> ConstrainResult {
166
+ trace ! ( "constrain {:?}" , id) ;
166
167
167
168
let item = self . ctx . resolve_item ( id) ;
168
169
let ty = match item. as_type ( ) {
@@ -176,17 +177,21 @@ impl<'ctx> MonotoneFramework for HasVtableAnalysis<'ctx> {
176
177
TypeKind :: Alias ( t) |
177
178
TypeKind :: ResolvedTypeRef ( t) |
178
179
TypeKind :: Reference ( t) => {
180
+ trace ! ( " aliases and references forward to their inner type" ) ;
179
181
self . forward ( t, id)
180
182
}
181
183
182
184
TypeKind :: Comp ( ref info) => {
185
+ trace ! ( " comp considers its own methods and bases" ) ;
183
186
let mut result = HasVtableResult :: No ;
184
187
185
188
if info. has_own_virtual_method ( ) {
189
+ trace ! ( " comp has its own virtual method" ) ;
186
190
result |= HasVtableResult :: SelfHasVtable ;
187
191
}
188
192
189
193
let bases_has_vtable = info. base_members ( ) . iter ( ) . any ( |base| {
194
+ trace ! ( " comp has a base with a vtable: {:?}" , base) ;
190
195
self . have_vtable . contains_key ( & base. ty . into ( ) )
191
196
} ) ;
192
197
if bases_has_vtable {
You can’t perform that action at this time.
0 commit comments