about summary refs log tree commit diff stats
path: root/baremetal/shell/trace.mu
blob: 88ee08605db6f0851f3deb2242a72544922ecb69 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# A trace records the evolution of a computation.
# An integral part of the Mu Shell is facilities for browsing traces.

type trace {
  curr-depth: int
  data: (handle stream trace-line)
}

type trace-line {
  depth: int
  label: (handle array byte)
  data: (handle array byte)
}

fn has-errors? _self: (addr trace) -> _/eax: boolean {
  return 0/false
}

fn trace _self: (addr trace), label: (addr array byte), data: (array stream byte) {
}

fn new-trace-line depth: int, label: (addr array byte), data: (array stream byte), out: (addr trace-line) {
}

fn trace-lower _self: (addr trace) {
}

fn trace-higher _self: (addr trace) {
}

fn render-trace screen: (addr screen), _self: (addr trace), _x: int, _y: int {
}