Remove macro mutex as it's no longer needed

This commit is contained in:
Elara 2023-10-31 08:02:29 -07:00
parent 2a87e4781c
commit ee4aa95dc3
3 changed files with 8 additions and 16 deletions

View File

@ -30,17 +30,13 @@ func (mt macroTag) Run(tc *TagContext, block, args []ast.Node) error {
}
if len(block) == 0 {
tc.t.macroMtx.Lock()
macro, ok := tc.t.macros[name]
if !ok {
return ErrNoSuchMacro
}
tc.t.macroMtx.Unlock()
return tc.Execute(macro, nil)
} else {
tc.t.macroMtx.Lock()
tc.t.macros[name] = block
tc.t.macroMtx.Unlock()
}
return nil

View File

@ -26,7 +26,6 @@ import (
"path/filepath"
"reflect"
"strings"
"sync"
"go.elara.ws/salix/ast"
"go.elara.ws/salix/parser"
@ -52,12 +51,11 @@ func (n *Namespace) ParseWithName(name string, r io.Reader) (Template, error) {
}
t := Template{
ns: n,
name: name,
ast: astVal.([]ast.Node),
tags: map[string]Tag{},
vars: map[string]reflect.Value{},
macroMtx: &sync.Mutex{},
ns: n,
name: name,
ast: astVal.([]ast.Node),
tags: map[string]Tag{},
vars: map[string]reflect.Value{},
}
performWhitespaceMutations(t.ast)

View File

@ -60,11 +60,9 @@ type Template struct {
escapeHTML bool
tags map[string]Tag
vars map[string]reflect.Value
macroMtx *sync.Mutex
macros map[string][]ast.Node
tags map[string]Tag
vars map[string]reflect.Value
macros map[string][]ast.Node
}
// WithVarMap returns a copy of the template with its variable map set to m.