Skip to content
Open
Show file tree
Hide file tree
Changes from 20 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
359dd99
export the checker and ensure no methods or fields are exported
diegommm Aug 28, 2025
360157a
make Checker reusable
diegommm Aug 28, 2025
d234ae3
add PatchAndCheck method to Checker, and reuse it in visitors
diegommm Aug 28, 2025
edce1b0
avoid unnecessary map and consolidate structs
diegommm Aug 29, 2025
80afb76
make all Nature methods use pointer-receiver
diegommm Aug 29, 2025
1c36c13
added cache for type and nature information
diegommm Aug 29, 2025
e9b245b
optimize type and nature checks
diegommm Aug 29, 2025
879544e
more aggressively cache some partial results and add cheap checks
diegommm Aug 29, 2025
8f6e266
cache reused values
diegommm Aug 29, 2025
1eb8ab5
reduce copying in Nature by breaking down optional fields
diegommm Aug 29, 2025
06a425b
enforce use of cache
diegommm Aug 30, 2025
d9ba735
improve ergonomics of FromType and NatureOf
diegommm Aug 30, 2025
aa33cf9
improve struct method fetching
diegommm Aug 30, 2025
ab994ae
make cache private to Nature
diegommm Aug 30, 2025
720d2b6
first iteration improving struct reflect caching
diegommm Aug 31, 2025
35e3c1e
cleaned up struct fields data
diegommm Aug 31, 2025
e68fbc7
improve caching of functions data
diegommm Aug 31, 2025
3d7e30e
simplify checker code
diegommm Aug 31, 2025
163df86
simplify and remove dead code
diegommm Aug 31, 2025
40d2c14
add checker benchmarks
diegommm Aug 31, 2025
247a6a6
address PR comments and minor improvements
diegommm Aug 31, 2025
32aebcd
rename from SetCache to Bind
diegommm Aug 31, 2025
f6e2d87
make the benchmarks more fair
diegommm Sep 1, 2025
eafdb3c
fix benchmark option not being applied
diegommm Sep 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ast/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func (n *base) Type() reflect.Type {

// SetType sets the type of the node.
func (n *base) SetType(t reflect.Type) {
n.nature.Type = t
n.nature = nature.FromType(t)
}

// NilNode represents nil.
Expand Down
Loading
Loading