### Hierarchy

- BaseForLines
  - SimpleRule

### Implements

- ICacheable
- IRule

## Index

### Constructors

- constructor

### Properties

- __coverageCount
- __source
- actionBrackets
- commands
- conditionBrackets
- debugFlag

### Methods

- __getLineAndColumnRange
- __getSourceLineAndColumn
- __incrementCoverage
- addCellsToEmptyRules
- canCollapseBecauseBracketsMatch
- clearCaches
- evaluate
- getChildRules
- getMatches
- hasMatches
- hasRigid
- isLate
- subscribeToCellChanges
- toKey
- toSourceString
- toString

## Constructors

### constructor

- new SimpleRule(source: IGameCode, conditionBrackets: ISimpleBracket[], actionBrackets: ISimpleBracket[], commands: AbstractCommand[], isLate: boolean, isRigid: boolean, debugFlag: Optional<DEBUG_FLAG>): SimpleRule

- Overrides BaseForLines.constructor

  - Defined in models/rule.ts:255

  #### Parameters

  - ##### source: IGameCode

  - ##### conditionBrackets: ISimpleBracket[]

  - ##### actionBrackets: ISimpleBracket[]

  - ##### commands: AbstractCommand[]

  - ##### isLate: boolean

  - ##### isRigid: boolean

  - ##### debugFlag: Optional<DEBUG_FLAG>

  #### Returns SimpleRule

## Properties

### __coverageCount

__coverageCount: Optional<number>

Implementation of IRule.__coverageCount

Inherited from BaseForLines.__coverageCount

- Defined in models/BaseForLines.ts:69

### __source

__source: IGameCode

Implementation of IRule.__source

Inherited from BaseForLines.__source

- Defined in models/BaseForLines.ts:68

### actionBrackets

actionBrackets: ISimpleBracket[]

- Defined in models/rule.ts:249

### commands

commands: AbstractCommand[]

- Defined in models/rule.ts:250

### conditionBrackets

conditionBrackets: ISimpleBracket[]

- Defined in models/rule.ts:248

### debugFlag

debugFlag: Optional<DEBUG_FLAG>

- Defined in models/rule.ts:251

## Methods

### __getLineAndColumnRange

- __getLineAndColumnRange(): object

- Implementation of IRule.__getLineAndColumnRange

  Inherited from BaseForLines.__getLineAndColumnRange

  - Defined in models/BaseForLines.ts:96

  #### Returns object

  - ##### end: object

    - ##### col: number

    - ##### line: number

  - ##### start: object

    - ##### col: number

    - ##### line: number

### __getSourceLineAndColumn

- __getSourceLineAndColumn(): object

- Implementation of IRule.__getSourceLineAndColumn

  Inherited from BaseForLines.__getSourceLineAndColumn

  - Defined in models/BaseForLines.ts:81

  #### Returns object

  - ##### colNum: number

  - ##### line: string

  - ##### lineNum: number

  - ##### nextLine: null | string

  - ##### prevLine: null | string

### __incrementCoverage

- __incrementCoverage(): void

- Inherited from BaseForLines.__incrementCoverage

  - Defined in models/BaseForLines.ts:104

  #### Returns void

### addCellsToEmptyRules

- addCellsToEmptyRules(cells: Iterable<Cell>): void

- - Defined in models/rule.ts:436

  #### Parameters

  - ##### cells: Iterable<Cell>

  #### Returns void

### canCollapseBecauseBracketsMatch

- canCollapseBecauseBracketsMatch(rule: SimpleRule): boolean

- - Defined in models/rule.ts:418

  #### Parameters

  - ##### rule: SimpleRule

  #### Returns boolean

### clearCaches

- clearCaches(): void

- - Defined in models/rule.ts:297

  #### Returns void

### evaluate

- evaluate(level: Level, onlyEvaluateFirstMatch: boolean): IMutation[]

- - Defined in models/rule.ts:317

  #### Parameters

  - ##### level: Level

  - ##### onlyEvaluateFirstMatch: boolean

  #### Returns IMutation[]

### getChildRules

- getChildRules(): IRule[]

- - Defined in models/rule.ts:284

  #### Returns IRule[]

### getMatches

- getMatches(level: Level): MatchedCellsForRule[][]

- - Defined in models/rule.ts:303

  #### Parameters

  - ##### level: Level

  #### Returns MatchedCellsForRule[][]

### hasMatches

- hasMatches(level: Level): boolean

- - Defined in models/rule.ts:404

  #### Parameters

  - ##### level: Level

  #### Returns boolean

### hasRigid

- hasRigid(): boolean

- - Defined in models/rule.ts:416

  #### Returns boolean

### isLate

- isLate(): boolean

- - Defined in models/rule.ts:415

  #### Returns boolean

### subscribeToCellChanges

- subscribeToCellChanges(): void

- - Defined in models/rule.ts:287

  #### Returns void

### toKey

- toKey(): string

- Implementation of IRule.toKey

  - Defined in models/rule.ts:277

  #### Returns string

### toSourceString

- toSourceString(): string

- Implementation of IRule.toSourceString

  Inherited from BaseForLines.toSourceString

  - Defined in models/BaseForLines.ts:90

  #### Returns string

### toString

- toString(): string

- Implementation of IRule.toString

  Inherited from BaseForLines.toString

  - Defined in models/BaseForLines.ts:85

  #### Returns string

Generated using TypeDoc