12345678910111213141516171819202122232425262728 |
- using Jint.Runtime;
- namespace Jint.Constraints
- {
- internal sealed class MaxStatements : IConstraint
- {
- private readonly int _maxStatements;
- private int _statementsCount;
- public MaxStatements(int maxStatements)
- {
- _maxStatements = maxStatements;
- }
- public void Check()
- {
- if (_maxStatements > 0 && _statementsCount++ > _maxStatements)
- {
- ExceptionHelper.ThrowStatementsCountOverflowException();
- }
- }
- public void Reset()
- {
- _statementsCount = 0;
- }
- }
- }
|