aboutsummaryrefslogtreecommitdiff
path: root/serialize.go
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-04-28 17:15:30 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-04-28 17:17:05 +0900
commitc8dea2aa1b14346ce301acdad106c083f9e13213 (patch)
treeeabfe9c20797416b3c980eb120e2813eb077f5ee /serialize.go
parent530136b0e3d6aaaa4de7d29b7ce9129b4814ff3a (diff)
downloadkati-c8dea2aa1b14346ce301acdad106c083f9e13213.tar.gz
Deserialize tmpval and varsubst
Diffstat (limited to 'serialize.go')
-rw-r--r--serialize.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/serialize.go b/serialize.go
index bad2352..15cfe8c 100644
--- a/serialize.go
+++ b/serialize.go
@@ -161,6 +161,8 @@ func DeserializeVar(sv SerializableVar) (r Value) {
switch sv.Type {
case "literal":
return literal(sv.V)
+ case "tmpval":
+ return tmpval([]byte(sv.V))
case "expr":
var e Expr
for _, v := range sv.Children {
@@ -175,6 +177,12 @@ func DeserializeVar(sv SerializableVar) (r Value) {
panic(err)
}
return paramref(v)
+ case "varsubst":
+ return varsubst{
+ varname: DeserializeVar(sv.Children[0]),
+ pat: DeserializeVar(sv.Children[1]),
+ subst: DeserializeVar(sv.Children[2]),
+ }
case "func":
name := DeserializeVar(sv.Children[0]).(literal)