]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - vendor/wikimedia/cldr-plural-rule-parser/src/Converter/Expression.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / vendor / wikimedia / cldr-plural-rule-parser / src / Converter / Expression.php
1 <?php
2 /**
3  * @author Niklas Laxström, Tim Starling
4  * @license GPL-2.0+
5  * @file
6  */
7
8 namespace CLDRPluralRuleParser\Converter;
9
10 use CLDRPluralRuleParser\Converter;
11
12 /**
13  * Helper for Converter.
14  * An expression object, representing a region of the input string (for error
15  * messages), the RPN notation used to evaluate it, and the result type for
16  * validation.
17  */
18 class Expression extends Fragment {
19         /** @var string */
20         public $type;
21
22         /** @var string */
23         public $rpn;
24
25         function __construct( Converter $parser, $type, $rpn, $pos, $length ) {
26                 parent::__construct( $parser, $pos, $length );
27                 $this->type = $type;
28                 $this->rpn = $rpn;
29         }
30
31         public function isType( $type ) {
32                 if ( $type === 'range' && ( $this->type === 'range' || $this->type === 'number' ) ) {
33                         return true;
34                 }
35                 if ( $type === $this->type ) {
36                         return true;
37                 }
38
39                 return false;
40         }
41 }