Lines Matching refs:static_type

266         //   to a static_type
278 if (is_equal(this, info->static_type, false))
287 if (is_equal(this, info->static_type, false))
319 if (is_equal(this, info->static_type, false))
543 // static_ptr: pointer to an object of type static_type; nonnull, and since the
546 // static_type: static type of the object pointed to by static_ptr.
552 // -2: static_type is not a public base of dst_type
553 // -3: static_type is a multiple public base type but never a
555 // otherwise, the static_type type is a unique public nonvirtual
562 // static_type is guaranteed to be a polymorphic type.
573 // 1. Those that are derived from (below) (static_ptr, static_type).
574 // 2. Those that are not derived from (below) (static_ptr, static_type).
579 // the node (static_ptr, static_type). This path may or may not be public.
587 // No node of type dst_type appears above a node of type static_type. Such
590 // static_type in the DAG.
592 // dst_type != static_type: The compiler computes the dynamic_cast in this case too.
593 // dynamic_type != static_type: The compiler computes the dynamic_cast in this case too.
598 // If there is a public path from that dst_type to (static_ptr, static_type), or
600 // (dynamic_ptr, dynamic_type) to (static_ptr, static_type) and a public
605 // (static_ptr, static_type) and a public path from (dynamic_ptr, dynamic_type)
613 // (static_ptr, static_type), then return dynamic_ptr.
617 __dynamic_cast(const void *static_ptr, const __class_type_info *static_type,
633 __dynamic_cast_info info = {dst_type, static_ptr, static_type, src2dst_offset, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
644 // find (static_ptr, static_type), either on a public or private path
651 ", %s.\n", static_type->name(), dynamic_type->name());
653 info = {dst_type, static_ptr, static_type, src2dst_offset, 0};
668 // find (static_ptr, static_type), either on a public or private path
675 "%s, %s, %s.\n", static_type->name(), dynamic_type->name(),
678 info = {dst_type, static_ptr, static_type, src2dst_offset, 0};
710 // Call this function when you hit a static_type which is a base (above) a dst_type.
711 // Let caller know you hit a static_type. But only start recording details if
712 // this is (static_ptr, static_type) -- the node we are casting from.
713 // If this is (static_ptr, static_type)
716 // Record the dst_ptr as pointing to (static_ptr, static_type).
717 // If more than one (dst_ptr, dst_type) points to (static_ptr, static_type),
725 // Record that we found a static_type
729 // Record that we found (static_ptr, static_type)
754 // We've detected an ambiguous cast from (static_ptr, static_type)
762 // Call this function when you hit a static_type which is not a base (above) a dst_type.
763 // If this is (static_ptr, static_type)
774 // (static_ptr, static_type)
781 // for a path to (static_ptr, static_type) and for paths to one or more dst_type nodes.
782 // If it finds a static_type node, there is no need to further search base classes
785 // to find out if this dst_type points to (static_ptr, static_type) or not.
787 // or does not point to (static_ptr, static_type).
788 // If this is neither a static_type nor a dst_type node, continue searching
799 // if (this == info->static_type)
816 // // We found a dst_type that doesn't point to (static_ptr, static_type)
825 // // This is not a static_type and not a dst_type.
840 if (is_equal(this, info->static_type, use_strcmp))
861 // Only search above here if dst_type derives from static_type, or
862 // if it is unknown if dst_type derives from static_type.
872 // 1. We've found a public path to (static_ptr, static_type).
873 // 2. We've found an ambiguous cast from (static_ptr, static_type) to a dst_type.
874 // This is detected at the (static_ptr, static_type).
875 // 3. We can prove that there is no public path to (static_ptr, static_type)
895 // We found a private path to (static_ptr, static_type)
897 // to (static_ptr, static_type) and we just found it.
903 // If we found a static_type that isn't the one we're looking
911 // If we found no static_type,s then dst_type doesn't derive
912 // from static_type, else it does. Record this result so that
914 // it if it doesn't derive from static_type.
922 // We found a dst_type that doesn't point to (static_ptr, static_type)
928 // (static_ptr, static_type), then the cast from
939 // This is not a static_type and not a dst_type.
948 // a dst_type pointing to (static_ptr, static_type) has been found,
961 // dst_type pointing to (static_ptr, static_type) has not yet been
967 // If we just found a dst_type with a public path to (static_ptr, static_type),
969 // no other dst_type points to (static_ptr, static_type).
981 // no dst_type has been found to (static_ptr, static_type)
986 // If we just found a dst_type with a public path to (static_ptr, static_type),
988 // no other dst_type points to (static_ptr, static_type).
990 // if we just found a dst_type with a private path to (static_ptr, static_type),
991 // then we're only looking for a public path to (static_ptr, static_type)
993 // If !diamond & !repeat, then there is not a pointer to (static_ptr, static_type)
1012 if (is_equal(this, info->static_type, use_strcmp))
1033 // Only search above here if dst_type derives from static_type, or
1034 // if it is unknown if dst_type derives from static_type.
1049 // If we found no static_type,s then dst_type doesn't derive
1050 // from static_type, else it does. Record this result so that
1052 // it if it doesn't derive from static_type.
1060 // We found a dst_type that doesn't point to (static_ptr, static_type)
1066 // (static_ptr, static_type), then the cast from
1076 // This is not a static_type and not a dst_type
1089 if (is_equal(this, info->static_type, use_strcmp))
1109 // We found a dst_type that doesn't point to (static_ptr, static_type)
1115 // (static_ptr, static_type), then the cast from
1120 // We found that dst_type does not derive from static_type
1127 // for a public path to (static_ptr, static_type).
1130 // static_type node: All the hoopla surrounding the search code is doing
1139 // if (this == info->static_type)
1144 // // This is not a static_type and not a dst_type
1159 if (is_equal(this, info->static_type, use_strcmp))
1164 // This is not a static_type and not a dst_type
1172 // 1. We've found a public path to (static_ptr, static_type).
1173 // 2. We've found an ambiguous cast from (static_ptr, static_type) to a dst_type.
1174 // This is detected at the (static_ptr, static_type).
1175 // 3. We can prove that there is no public path to (static_ptr, static_type)
1196 // We found a private path to (static_ptr, static_type)
1198 // to (static_ptr, static_type) from here and we just found it.
1204 // If we found a static_type that isn't the one we're looking
1233 if (is_equal(this, info->static_type, use_strcmp))
1248 if (is_equal(this, info->static_type, use_strcmp))