-
Notifications
You must be signed in to change notification settings - Fork 341
/
Copy pathnodes.ex
109 lines (100 loc) · 3.09 KB
/
nodes.ex
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# TODO: source_doc should only be a string once we remove application/html+erlang.
defmodule ExDoc.ModuleNode do
@moduledoc false
defstruct id: nil,
title: nil,
nested_context: nil,
nested_title: nil,
module: nil,
group: nil,
deprecated: nil,
doc_format: nil,
doc: nil,
source_doc: nil,
rendered_doc: nil,
moduledoc_line: nil,
moduledoc_file: nil,
source_path: nil,
source_url: nil,
docs_groups: [],
docs: [],
typespecs: [],
type: nil,
language: nil,
annotations: [],
metadata: nil
@typep annotation :: atom()
@type t :: %__MODULE__{
id: String.t(),
title: String.t(),
nested_context: String.t() | nil,
nested_title: String.t() | nil,
module: module(),
group: atom() | nil,
deprecated: String.t() | nil,
doc_format: String.t() | nil,
doc: ExDoc.DocAST.t() | nil,
source_doc: term() | nil,
rendered_doc: String.t() | nil,
moduledoc_line: non_neg_integer(),
moduledoc_file: String.t(),
source_path: String.t() | nil,
source_url: String.t() | nil,
docs_groups: [ExDoc.DocGroupNode.t()],
docs: [ExDoc.DocNode.t()],
typespecs: [ExDoc.DocNode.t()],
type: atom(),
language: module(),
annotations: [annotation()],
metadata: map()
}
end
defmodule ExDoc.DocNode do
@moduledoc false
defstruct id: nil,
name: nil,
arity: 0,
defaults: [],
deprecated: nil,
doc: nil,
source_doc: nil,
rendered_doc: nil,
type: nil,
signature: nil,
specs: [],
annotations: [],
group: nil,
doc_line: nil,
doc_file: nil,
source_url: nil
@typep annotation :: String.t()
@typep function_default :: {name :: atom(), arity :: non_neg_integer()}
@type t :: %__MODULE__{
id: String.t(),
name: atom(),
arity: non_neg_integer(),
defaults: [function_default()],
deprecated: String.t() | nil,
doc: ExDoc.DocAST.t() | nil,
source_doc: term() | nil,
rendered_doc: String.t() | nil,
type: atom(),
signature: String.t(),
specs: [ExDoc.Language.spec_ast() | String.t()],
annotations: [annotation()],
group: String.t() | nil,
doc_file: String.t(),
doc_line: non_neg_integer(),
source_url: String.t() | nil
}
end
defmodule ExDoc.DocGroupNode do
defstruct title: nil, description: nil, doc: nil, rendered_doc: nil, docs: []
@type t :: %__MODULE__{
title: String.t() | atom(),
description: String.t() | nil,
doc: ExDoc.DocAST.t() | nil,
rendered_doc: String.t() | nil,
docs: [ExDoc.DocNode.t()]
}
end