Lines Matching refs:obligation

2257 	variance_obligation *obligation = emalloc(sizeof(variance_obligation));  in add_dependency_obligation()  local
2258 obligation->type = OBLIGATION_DEPENDENCY; in add_dependency_obligation()
2259 obligation->dependency_ce = dependency_ce; in add_dependency_obligation()
2260 zend_hash_next_index_insert_ptr(obligations, obligation); in add_dependency_obligation()
2268 variance_obligation *obligation = emalloc(sizeof(variance_obligation)); in add_compatibility_obligation() local
2269 obligation->type = OBLIGATION_COMPATIBILITY; in add_compatibility_obligation()
2272 memcpy(&obligation->child_fn, child_fn, sizeof(zend_internal_function)); in add_compatibility_obligation()
2274 memcpy(&obligation->child_fn, child_fn, sizeof(zend_op_array)); in add_compatibility_obligation()
2277 memcpy(&obligation->parent_fn, parent_fn, sizeof(zend_internal_function)); in add_compatibility_obligation()
2279 memcpy(&obligation->parent_fn, parent_fn, sizeof(zend_op_array)); in add_compatibility_obligation()
2281 obligation->child_scope = child_scope; in add_compatibility_obligation()
2282 obligation->parent_scope = parent_scope; in add_compatibility_obligation()
2283 zend_hash_next_index_insert_ptr(obligations, obligation); in add_compatibility_obligation()
2290 variance_obligation *obligation = emalloc(sizeof(variance_obligation)); in add_property_compatibility_obligation() local
2291 obligation->type = OBLIGATION_PROPERTY_COMPATIBILITY; in add_property_compatibility_obligation()
2292 obligation->child_prop = child_prop; in add_property_compatibility_obligation()
2293 obligation->parent_prop = parent_prop; in add_property_compatibility_obligation()
2294 zend_hash_next_index_insert_ptr(obligations, obligation); in add_property_compatibility_obligation()
2300 variance_obligation *obligation = Z_PTR_P(zv); in check_variance_obligation() local
2301 if (obligation->type == OBLIGATION_DEPENDENCY) { in check_variance_obligation()
2302 zend_class_entry *dependency_ce = obligation->dependency_ce; in check_variance_obligation()
2309 } else if (obligation->type == OBLIGATION_COMPATIBILITY) { in check_variance_obligation()
2311 &obligation->child_fn, obligation->child_scope, in check_variance_obligation()
2312 &obligation->parent_fn, obligation->parent_scope); in check_variance_obligation()
2319 &obligation->child_fn, obligation->child_scope, in check_variance_obligation()
2320 &obligation->parent_fn, obligation->parent_scope, status); in check_variance_obligation()
2324 ZEND_ASSERT(obligation->type == OBLIGATION_PROPERTY_COMPATIBILITY); in check_variance_obligation()
2326 property_types_compatible(obligation->parent_prop, obligation->child_prop); in check_variance_obligation()
2332 emit_incompatible_property_error(obligation->child_prop, obligation->parent_prop); in check_variance_obligation()
2378 variance_obligation *obligation; in report_variance_errors() local
2385 ZEND_HASH_FOREACH_PTR(obligations, obligation) { in report_variance_errors()
2386 if (obligation->type == OBLIGATION_COMPATIBILITY) { in report_variance_errors()
2390 &obligation->child_fn, obligation->child_scope, in report_variance_errors()
2391 &obligation->parent_fn, obligation->parent_scope); in report_variance_errors()
2394 &obligation->child_fn, obligation->child_scope, in report_variance_errors()
2395 &obligation->parent_fn, obligation->parent_scope, status); in report_variance_errors()
2396 } else if (obligation->type == OBLIGATION_PROPERTY_COMPATIBILITY) { in report_variance_errors()
2397 emit_incompatible_property_error(obligation->child_prop, obligation->parent_prop); in report_variance_errors()