LLVM  13.0.0git
Classes | Public Member Functions | List of all members
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

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

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 570 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 580 of file JSON.h.

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

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 584 of file JSON.h.

References Path().

Referenced by llvm::json::ObjectMapper::map(), and llvm::json::ObjectMapper::mapOptional().

◆ index()

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

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

Definition at line 582 of file JSON.h.

References Index, and 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 P.

Referenced by llvm::json::ObjectMapper::map().


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