MCPcopy Index your code
hub / github.com/Shopify/go-lua / AdjustAssignment

Method AdjustAssignment

code.go:1000–1018  ·  view source on GitHub ↗
(variableCount, expressionCount int, e exprDesc)

Source from the content-addressed store, hash-verified

998}
999
1000func (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
1020func (f *function) makeUpValue(name string, e exprDesc) int {
1021 f.p.checkLimit(len(f.f.upValues)+1, maxUpValue, "upvalues")

Callers 3

assignmentMethod · 0.80
forListMethod · 0.80
localStatementMethod · 0.80

Calls 5

setReturnsMethod · 0.95
ReserveRegistersMethod · 0.95
loadNilMethod · 0.95
hasMultipleReturnsMethod · 0.80

Tested by

no test coverage detected