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

Method StoreVariable

code.go:734–755  ·  view source on GitHub ↗
(v, e exprDesc)

Source from the content-addressed store, hash-verified

732}
733
734func (f *function) StoreVariable(v, e exprDesc) {
735 switch v.kind {
736 case kindLocal:
737 f.freeExpression(e)
738 f.expressionToRegister(e, v.info)
739 return
740 case kindUpValue:
741 e = f.ExpressionToAnyRegister(e)
742 f.EncodeABC(opSetUpValue, e.info, v.info, 0)
743 case kindIndexed:
744 var r int
745 e, r = f.expressionToRegisterOrConstant(e)
746 if v.tableType == kindLocal {
747 f.EncodeABC(opSetTable, v.table, v.index, r)
748 } else {
749 f.EncodeABC(opSetTableUp, v.table, v.index, r)
750 }
751 default:
752 f.unreachable()
753 }
754 f.freeExpression(e)
755}
756
757func (f *function) Self(e, key exprDesc) exprDesc {
758 e = f.ExpressionToAnyRegister(e)

Callers 2

assignmentMethod · 0.80
functionStatementMethod · 0.80

Calls 6

freeExpressionMethod · 0.95
expressionToRegisterMethod · 0.95
EncodeABCMethod · 0.95
unreachableMethod · 0.95

Tested by

no test coverage detected