Skip to content

Commit ab4c449

Browse files
committed
enforce feature flag for virtual()
1 parent 7f832fa commit ab4c449

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

internal/flags/flags.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const (
1010
ExperimentalAccountInterpolationFlag FeatureFlag = "experimental-account-interpolation"
1111
ExperimentalMidScriptFunctionCall FeatureFlag = "experimental-mid-script-function-call"
1212
ExperimentalAssetColors FeatureFlag = "experimental-asset-colors"
13+
ExperimentalVirtualAccount FeatureFlag = "experimental-virtual-account"
1314
)
1415

1516
var AllFlags []string = []string{
@@ -20,4 +21,5 @@ var AllFlags []string = []string{
2021
ExperimentalAccountInterpolationFlag,
2122
ExperimentalMidScriptFunctionCall,
2223
ExperimentalAssetColors,
24+
ExperimentalVirtualAccount,
2325
}

internal/interpreter/function_exprs.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,12 @@ func getAmount(
156156
return mon.Amount, nil
157157
}
158158

159-
func virtual() Value {
160-
return Account{Repr: NewVirtualAccount()}
159+
func virtual(
160+
s *programState,
161+
) (Value, InterpreterError) {
162+
err := s.checkFeatureFlag(flags.ExperimentalVirtualAccount)
163+
if err != nil {
164+
return nil, err
165+
}
166+
return Account{Repr: NewVirtualAccount()}, nil
161167
}

internal/interpreter/interpreter.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ func (s *programState) handleFnCall(type_ *string, fnCall parser.FnCall) (Value,
195195
case analysis.FnVarOriginGetAmount:
196196
return getAmount(s, fnCall.Range, args)
197197
case analysis.FnVarOriginVirtual:
198-
return virtual(), nil
198+
return virtual(s)
199199

200200
default:
201201
return nil, UnboundFunctionErr{Name: fnCall.Caller.Name}

0 commit comments

Comments
 (0)