LLVM  13.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

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.

## ◆ 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().

## ◆ 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: