aboutsummaryrefslogtreecommitdiff
path: root/internal/compile/serial.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/compile/serial.go')
-rw-r--r--internal/compile/serial.go26
1 files changed, 15 insertions, 11 deletions
diff --git a/internal/compile/serial.go b/internal/compile/serial.go
index f6cf807..6056ea7 100644
--- a/internal/compile/serial.go
+++ b/internal/compile/serial.go
@@ -39,6 +39,7 @@ package compile
// freevar []Ident
// maxstack varint
// numparams varint
+// numkwonlyparams varint
// hasvarargs varint (0 or 1)
// haskwargs varint (0 or 1)
//
@@ -185,6 +186,7 @@ func (e *encoder) function(fn *Funcode) {
e.idents(fn.Freevars)
e.int(fn.MaxStack)
e.int(fn.NumParams)
+ e.int(fn.NumKwonlyParams)
e.int(b2i(fn.HasVarargs))
e.int(b2i(fn.HasKwargs))
}
@@ -350,20 +352,22 @@ func (d *decoder) function() *Funcode {
freevars := d.idents()
maxStack := d.int()
numParams := d.int()
+ numKwonlyParams := d.int()
hasVarargs := d.int() != 0
hasKwargs := d.int() != 0
return &Funcode{
// Prog is filled in later.
- Pos: id.Pos,
- Name: id.Name,
- Doc: doc,
- Code: code,
- pclinetab: pclinetab,
- Locals: locals,
- Freevars: freevars,
- MaxStack: maxStack,
- NumParams: numParams,
- HasVarargs: hasVarargs,
- HasKwargs: hasKwargs,
+ Pos: id.Pos,
+ Name: id.Name,
+ Doc: doc,
+ Code: code,
+ pclinetab: pclinetab,
+ Locals: locals,
+ Freevars: freevars,
+ MaxStack: maxStack,
+ NumParams: numParams,
+ NumKwonlyParams: numKwonlyParams,
+ HasVarargs: hasVarargs,
+ HasKwargs: hasKwargs,
}
}