(variableCount, expressionCount int, e exprDesc)
| 998 | } |
| 999 | |
| 1000 | func (f *function) AdjustAssignment(variableCount, expressionCount int, e exprDesc) { |
| 1001 | if extra := variableCount - expressionCount; e.hasMultipleReturns() { |
| 1002 | if extra++; extra < 0 { |
| 1003 | extra = 0 |
| 1004 | } |
| 1005 | if f.setReturns(e, extra); extra > 1 { |
| 1006 | f.ReserveRegisters(extra - 1) |
| 1007 | } |
| 1008 | } else { |
| 1009 | if expressionCount > 0 { |
| 1010 | _ = f.ExpressionToNextRegister(e) |
| 1011 | } |
| 1012 | if extra > 0 { |
| 1013 | r := f.freeRegisterCount |
| 1014 | f.ReserveRegisters(extra) |
| 1015 | f.loadNil(r, extra) |
| 1016 | } |
| 1017 | } |
| 1018 | } |
| 1019 | |
| 1020 | func (f *function) makeUpValue(name string, e exprDesc) int { |
| 1021 | f.p.checkLimit(len(f.f.upValues)+1, maxUpValue, "upvalues") |
no test coverage detected