2023-02-20 09:56:29 +00:00
|
|
|
# Tint Source Layering
|
|
|
|
|
|
|
|
The `BUILD.gn` is setup with small source units for various components
|
|
|
|
in Tint. The hierarchy of sources almost matches to folder structure in
|
|
|
|
tint (except for `base` which is a mix of things in `src/tint` and
|
|
|
|
`src/tint/util`.
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
+-----------------------------------------+
|
|
|
|
| Readers | Writers |
|
|
|
|
+-----------------------------------------+
|
|
|
|
|
|
|
|
|
V
|
|
|
|
+-----------------------------------------+
|
2023-04-13 21:17:12 +00:00
|
|
|
| Val | Inspector | Transform |
|
2023-02-20 09:56:29 +00:00
|
|
|
+-----------------------------------------+
|
|
|
|
| |
|
|
|
|
+--------------+------------------------------+
|
|
|
|
| |
|
|
|
|
V V
|
|
|
|
+-----------------------------------------+ +-----------+
|
|
|
|
| AST | | Utils IO |
|
|
|
|
+-----------------------------------------+ +-----------+
|
|
|
|
| |
|
|
|
|
V |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| Program | Sem | |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| |
|
|
|
|
V |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| AST Hdrs | |
|
|
|
|
| (program and sem cause a cycle) | |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| |
|
|
|
|
V |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| Clone Context Hdrs | |
|
|
|
|
| (program and sem cause a cycle) | |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| |
|
|
|
|
V |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| Constant | |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| |
|
|
|
|
V |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| Types | |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| |
|
|
|
|
V |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| Builtin | |
|
|
|
|
+-----------------------------------------+ |
|
|
|
|
| |
|
|
|
|
|------------------------------+
|
|
|
|
V
|
|
|
|
+-----------------------------------------+
|
|
|
|
| Base |
|
|
|
|
+-----------------------------------------+
|
|
|
|
|
|
|
|
|
V
|
|
|
|
+-----------------------------------------+ +-------------+
|
|
|
|
| Text (unicode) | | Initializer |
|
|
|
|
+-----------------------------------------+ +-------------+
|
|
|
|
```
|