Home | History | Annotate | Download | only in AST

Lines Matching defs:Path

87   /// Get an LValue path entry, which is known to not be an array index, as a
96 /// Get an LValue path entry, which is known to not be an array index, as a
101 /// Get an LValue path entry, which is known to not be an array index, as a
106 /// Determine whether this LValue path entry for a base class names a virtual
112 /// Find the path length and type of the most-derived subobject in the given
113 /// path, and find the size of the containing array, if any.
116 ArrayRef<APValue::LValuePathEntry> Path,
120 for (unsigned I = 0, N = Path.size(); I != N; ++I) {
132 } else if (const FieldDecl *FD = getAsField(Path[I])) {
137 // Path[I] describes a base class.
150 /// A path from a glvalue to a subobject of that glvalue.
160 /// The length of the path to the most-derived object of which this is a
173 /// The entries on the path from the glvalue to the designated subobject.
870 DeclAndIsDerivedMember(Decl, false), Path() {}
888 V = APValue(getDecl(), isDerivedMember(), Path);
894 Path.clear();
896 Path.insert(Path.end(), P.begin(), P.end());
903 /// Path - The path of base/derived classes from the member declaration's
905 SmallVector<const CXXRecordDecl*, 4> Path;
910 assert(!Path.empty());
912 if (Path.size() >= 2)
913 Expected = Path[Path.size() - 2];
925 Path.pop_back();
933 Path.push_back(Derived);
938 if (Path.empty())
946 if (Path.empty())
949 Path.push_back(Base);
962 return LHS.Path == RHS.Path;
1607 /// truncating the lvalue's path to the given length.
1621 // Truncate the path to the subobject, and remove any derived-to-base offsets.
1979 // Walk the designator's path to find the subobject.
2093 // FIXME: Include a description of the path to the volatile subobject.
2269 // of length 1' case, and the entire path must match.
2845 // The end of the derived-to-base path for the base object must match the
2846 // derived-to-base path for the member pointer.
2847 if (LV.Designator.MostDerivedPathLength + MemPtr.Path.size() >
2853 LV.Designator.Entries.size() - MemPtr.Path.size();
2854 for (unsigned I = 0, N = MemPtr.Path.size(); I != N; ++I) {
2857 const CXXRecordDecl *MPDecl = MemPtr.Path[I];
2868 } else if (!MemPtr.Path.empty()) {
2869 // Extend the LValue path with the member pointer's path.
2871 MemPtr.Path.size() + IncludeMember);
2878 // The first class in the path is that of the lvalue.
2879 for (unsigned I = 1, N = MemPtr.Path.size(); I != N; ++I) {
2880 const CXXRecordDecl *Base = MemPtr.Path[N - I - 1];
2938 // Check this cast lands within the final derived-to-base subobject path.
2945 // Check the type of the final cast. We don't need to check the path,
2946 // since a cast can only be formed if the path is unique.
4723 // Base-to-derived member pointer casts store the path in derived-to-base
4725 // the wrong end of the derived->base arc, so stagger the path by one class.
7871 // Fast-path evaluations of integer literals, since we sometimes see files