Lines Matching refs:context
202 cast_context* context) in base_to_derived_cast() argument
204 const void* saved_dst_object = context->dst_object; in base_to_derived_cast()
205 bool is_dst_type = *type == *context->dst_type; in base_to_derived_cast()
207 context->dst_object = object; in base_to_derived_cast()
209 if (object == context->object in base_to_derived_cast()
210 && context->dst_object != NULL in base_to_derived_cast()
211 && *type == *context->src_type) in base_to_derived_cast()
213 if (context->result == NULL) in base_to_derived_cast()
214 context->result = context->dst_object; in base_to_derived_cast()
215 else if (context->result != context->dst_object) in base_to_derived_cast()
216 context->result = ambiguous_object; in base_to_derived_cast()
217 context->dst_object = saved_dst_object; in base_to_derived_cast()
232 base_to_derived_cast(object, ti->__base_type, context); in base_to_derived_cast()
251 context); in base_to_derived_cast()
254 if (context->result == ambiguous_object) in base_to_derived_cast()
263 context->dst_object = saved_dst_object; in base_to_derived_cast()
328 cast_context context(v, src, dst, src2dst_offset); in __dynamic_cast() local
330 base_to_derived_cast(t_object, dst, &context); in __dynamic_cast()
333 most_derived_class_type_info, &context); in __dynamic_cast()
335 if (context.result != NULL && context.result != ambiguous_object) in __dynamic_cast()
336 return const_cast<void*>(context.result); in __dynamic_cast()