diff options
author | Charlie Stanton <charlie@shtanton.xyz> | 2024-05-02 21:45:45 +0100 |
---|---|---|
committer | Charlie Stanton <charlie@shtanton.xyz> | 2024-05-02 21:45:45 +0100 |
commit | b434fe4e14f6dcc8d1d7433a29351b8e8ea77d37 (patch) | |
tree | 50b7e54713d23c965f6ffc23d9feeecd1dd60301 /subex/subexast.go | |
parent | 22ccb0c370cf2690f1b1a80fe003e05c6ba5e5ed (diff) | |
download | stred-go-b434fe4e14f6dcc8d1d7433a29351b8e8ea77d37.tar |
Diffstat (limited to 'subex/subexast.go')
-rw-r--r-- | subex/subexast.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/subex/subexast.go b/subex/subexast.go index d08ddac..655a783 100644 --- a/subex/subexast.go +++ b/subex/subexast.go @@ -238,6 +238,18 @@ func (ast SubexASTCopyNumber) String() string { return "%" } +// Read in a null, bool, number, string or empty array or map and output it unchanged +type SubexASTCopyAnySimpleValue struct {} +func (ast SubexASTCopyAnySimpleValue) compileWith(next SubexState, slotMap *SlotMap, inType Type, outType Type) SubexState { + if inType != ValueType || outType != ValueType { + panic("Invalid types for SubexASTCopyAnySimpleValue") + } + return &SubexCopyState { + next: next, + filter: simpleValueFilter{}, + } +} + // Read in any single Atom and output it unchanged type SubexASTCopyAnyValue struct {} func (ast SubexASTCopyAnyValue) compileWith(next SubexState, slotMap *SlotMap, inType Type, outType Type) SubexState { |