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

Method encodeNot

code.go:818–837  ·  view source on GitHub ↗
(e exprDesc)

Source from the content-addressed store, hash-verified

816}
817
818func (f *function) encodeNot(e exprDesc) exprDesc {
819 switch e = f.DischargeVariables(e); e.kind {
820 case kindNil, kindFalse:
821 e.kind = kindTrue
822 case kindConstant, kindNumber, kindTrue:
823 e.kind = kindFalse
824 case kindJump:
825 f.invertJump(e.info)
826 case kindRelocatable, kindNonRelocatable:
827 e = f.dischargeToAnyRegister(e)
828 f.freeExpression(e)
829 e.info, e.kind = f.EncodeABC(opNot, 0, e.info, 0), kindRelocatable
830 default:
831 f.unreachable()
832 }
833 e.f, e.t = e.t, e.f
834 f.removeValues(e.f)
835 f.removeValues(e.t)
836 return e
837}
838
839func (f *function) Indexed(t, k exprDesc) (r exprDesc) {
840 f.assert(!t.hasJumps())

Callers 1

PrefixMethod · 0.95

Calls 7

DischargeVariablesMethod · 0.95
invertJumpMethod · 0.95
freeExpressionMethod · 0.95
EncodeABCMethod · 0.95
unreachableMethod · 0.95
removeValuesMethod · 0.95

Tested by

no test coverage detected