Skip to content

Commit 6be4d2e

Browse files
committed
Add pointer templates to specification pages
1 parent 78c3833 commit 6be4d2e

File tree

3 files changed

+53
-1
lines changed

3 files changed

+53
-1
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
sidebar_position: 7
3+
---
4+
5+
import SchemaViewer from "@site/src/components/SchemaViewer";
6+
7+
# Pointer templates
8+
9+
This format provides the concept of **pointer templates** to allow
10+
deduplicating representations. Pointer templates are defined to specify the
11+
variables they expect in scope and the pointer definition that uses those
12+
variables.
13+
14+
## Template schema {#template-schema}
15+
16+
The following schema defines how to represent a single pointer template.
17+
See [below](#templates-schema) for how to organize pointer templates by name.
18+
19+
<SchemaViewer
20+
schema={{
21+
id: "schema:ethdebug/format/pointer/templates"
22+
}}
23+
pointer="#/$defs/Template"
24+
/>
25+
26+
## Organizing templates {#templates-schema}
27+
28+
The **ethdebug/format/pointer/templates** schema specifies how to represent
29+
a collection of pointer templates by name.
30+
31+
<SchemaViewer
32+
schema={{ id: "schema:ethdebug/format/pointer/templates" }}
33+
/>

packages/web/src/schemas.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,15 @@ export const schemaIndex: SchemaIndex = {
116116
href: "/spec/pointer/expression"
117117
},
118118

119+
"schema:ethdebug/format/pointer/templates": {
120+
href: "/spec/pointer/templates"
121+
},
122+
123+
"schema:ethdebug/format/pointer/templates#/$defs/Template": {
124+
title: "Pointer template schema",
125+
href: "/spec/pointer/templates#template-schema"
126+
},
127+
119128
...Object.entries({
120129
Literal: {
121130
title: "Literal values schema",

schemas/pointer/templates.schema.yaml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,14 @@ additionalProperties: false
1515

1616
$defs:
1717
Template:
18-
title: Pointer template
18+
title: Pointer template schema
1919
type: object
2020
properties:
2121
expect:
22+
title: Template variables
23+
description: |
24+
An array of variable identifiers used in the definition of the
25+
pointer template.
2226
type: array
2327
items:
2428
$ref: "schema:ethdebug/format/pointer/identifier"
@@ -33,6 +37,12 @@ $defs:
3337

3438
additionalProperties: false
3539

40+
examples:
41+
- expect: ["slot"]
42+
for:
43+
location: storage
44+
slot: "slot"
45+
3646
examples:
3747
- "solidity-string-storage":
3848
expect:

0 commit comments

Comments
 (0)