Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
TreeRef
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 __construct
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * JSON Schema Validation Library
4 *
5 * Copyright (c) 2005-2012, Rob Lanphier
6 * All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are
10 * met:
11 *
12 *     * Redistributions of source code must retain the above copyright
13 *       notice, this list of conditions and the following disclaimer.
14 *
15 *     * Redistributions in binary form must reproduce the above
16 *       copyright notice, this list of conditions and the following
17 *       disclaimer in the documentation and/or other materials provided
18 *       with the distribution.
19 *
20 *     * Neither my name nor the names of my contributors may be used to
21 *       endorse or promote products derived from this software without
22 *       specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35 *
36 * @author Rob Lanphier <robla@wikimedia.org>
37 * @copyright © 2011-2012 Rob Lanphier
38 * @license http://jsonwidget.org/LICENSE BSD-3-Clause
39 */
40
41namespace MediaWiki\Extension\EventLogging\Libs\JsonSchemaValidation;
42
43/*
44 * Internal terminology:
45 *   Node: "node" in the graph theory sense, but specifically, a node in the
46 *    raw PHP data representation of the structure
47 *   Ref: a node in the object tree.  Refs contain nodes and metadata about the
48 *    nodes, as well as pointers to parent refs
49 *
50 * Structure for representing a generic tree which each node is aware of its
51 * context (can refer to its parent).  Used for schema refs.
52 */
53class TreeRef {
54    /** @var array */
55    public $node;
56
57    /** @var TreeRef|null */
58    public $parent;
59
60    /** @var int|null */
61    public $nodeindex;
62
63    /** @var string */
64    public $nodename;
65
66    /**
67     * @param array $node
68     * @param TreeRef|null $parent
69     * @param int|null $nodeindex
70     * @param string $nodename
71     */
72    public function __construct( $node, $parent, $nodeindex, $nodename ) {
73        $this->node = $node;
74        $this->parent = $parent;
75        $this->nodeindex = $nodeindex;
76        $this->nodename = $nodename;
77    }
78}