LLVM 22.0.0git
llvm::json::Path Class Reference

A "cursor" marking a position within a Value. More...

#include "llvm/Support/JSON.h"

Classes

class  Root
 The root is the trivial Path to the root value. More...

Public Member Functions

LLVM_ABI void report (llvm::StringLiteral Message)
 Records that the value at the current path is invalid.
 Path (Root &R)
 The root may be treated as a Path.
Path index (unsigned Index) const
 Derives a path for an array element: this[Index].
Path field (StringRef Field) const
 Derives a path for an object field: this.Field.

Detailed Description

A "cursor" marking a position within a Value.

The Value is a tree, and this is the path from the root to the current node. This is used to associate errors with particular subobjects.

Definition at line 666 of file JSON.h.

Constructor & Destructor Documentation

◆ Path()

llvm::json::Path::Path ( Root & R)
inline

The root may be treated as a Path.

Definition at line 676 of file JSON.h.

Referenced by field(), index(), llvm::json::Path::Root::printErrorContext(), and report().

Member Function Documentation

◆ field()

Path llvm::json::Path::field ( StringRef Field) const
inline

Derives a path for an object field: this.Field.

Definition at line 680 of file JSON.h.

References Path().

◆ index()

Path llvm::json::Path::index ( unsigned Index) const
inline

Derives a path for an array element: this[Index].

Definition at line 678 of file JSON.h.

References Path().

◆ report()

void llvm::json::Path::report ( llvm::StringLiteral Message)

Records that the value at the current path is invalid.

Message is e.g. "expected number" and becomes part of the final error. This overwrites any previously written error message in the root.

Definition at line 204 of file JSON.cpp.

References llvm::Count, P, and Path().


The documentation for this class was generated from the following files: