@@ -21,14 +21,14 @@ discard block |
||
| 21 | 21 | */ |
| 22 | 22 | class Mailcode_Parser_Statement_Info |
| 23 | 23 | { |
| 24 | - /** |
|
| 25 | - * @var Mailcode_Parser_Statement_Tokenizer |
|
| 26 | - */ |
|
| 24 | + /** |
|
| 25 | + * @var Mailcode_Parser_Statement_Tokenizer |
|
| 26 | + */ |
|
| 27 | 27 | protected $tokenizer; |
| 28 | 28 | |
| 29 | - /** |
|
| 30 | - * @var Mailcode_Parser_Statement_Tokenizer_Token[] |
|
| 31 | - */ |
|
| 29 | + /** |
|
| 30 | + * @var Mailcode_Parser_Statement_Tokenizer_Token[] |
|
| 31 | + */ |
|
| 32 | 32 | protected $tokens = array(); |
| 33 | 33 | |
| 34 | 34 | /** |
@@ -52,21 +52,21 @@ discard block |
||
| 52 | 52 | $this->tokenizer->onTokensChanged(array($this, 'handleTokensChanged')); |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | - /** |
|
| 56 | - * Whether the whole statement is a variable being assigned a value. |
|
| 57 | - * |
|
| 58 | - * @return bool |
|
| 59 | - */ |
|
| 55 | + /** |
|
| 56 | + * Whether the whole statement is a variable being assigned a value. |
|
| 57 | + * |
|
| 58 | + * @return bool |
|
| 59 | + */ |
|
| 60 | 60 | public function isVariableAssignment() : bool |
| 61 | 61 | { |
| 62 | 62 | return $this->variables->isAssignment(); |
| 63 | 63 | } |
| 64 | 64 | |
| 65 | - /** |
|
| 66 | - * Whether the whole statement is a variable being compared to something. |
|
| 67 | - * |
|
| 68 | - * @return bool |
|
| 69 | - */ |
|
| 65 | + /** |
|
| 66 | + * Whether the whole statement is a variable being compared to something. |
|
| 67 | + * |
|
| 68 | + * @return bool |
|
| 69 | + */ |
|
| 70 | 70 | public function isVariableComparison() : bool |
| 71 | 71 | { |
| 72 | 72 | return $this->variables->isComparison(); |
@@ -83,27 +83,27 @@ discard block |
||
| 83 | 83 | return $this->variables->getAll(); |
| 84 | 84 | } |
| 85 | 85 | |
| 86 | - /** |
|
| 87 | - * Retrieves a variable by its position in the command's parameters. |
|
| 88 | - * Returns null if there is no parameter at the specified index, or |
|
| 89 | - * if it is of another type. |
|
| 90 | - * |
|
| 91 | - * @param int $index Zero-based index. |
|
| 92 | - * @return Mailcode_Parser_Statement_Tokenizer_Token_Variable|NULL |
|
| 93 | - */ |
|
| 86 | + /** |
|
| 87 | + * Retrieves a variable by its position in the command's parameters. |
|
| 88 | + * Returns null if there is no parameter at the specified index, or |
|
| 89 | + * if it is of another type. |
|
| 90 | + * |
|
| 91 | + * @param int $index Zero-based index. |
|
| 92 | + * @return Mailcode_Parser_Statement_Tokenizer_Token_Variable|NULL |
|
| 93 | + */ |
|
| 94 | 94 | public function getVariableByIndex(int $index) : ?Mailcode_Parser_Statement_Tokenizer_Token_Variable |
| 95 | 95 | { |
| 96 | 96 | return $this->variables->getByIndex($index); |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | - /** |
|
| 100 | - * Retrieves a string literal by its position in the command's parameters. |
|
| 101 | - * Returns null if there is no parameter at the specified index, or |
|
| 102 | - * if it is of another type. |
|
| 103 | - * |
|
| 104 | - * @param int $index Zero-based index. |
|
| 105 | - * @return Mailcode_Parser_Statement_Tokenizer_Token_StringLiteral|NULL |
|
| 106 | - */ |
|
| 99 | + /** |
|
| 100 | + * Retrieves a string literal by its position in the command's parameters. |
|
| 101 | + * Returns null if there is no parameter at the specified index, or |
|
| 102 | + * if it is of another type. |
|
| 103 | + * |
|
| 104 | + * @param int $index Zero-based index. |
|
| 105 | + * @return Mailcode_Parser_Statement_Tokenizer_Token_StringLiteral|NULL |
|
| 106 | + */ |
|
| 107 | 107 | public function getStringLiteralByIndex(int $index) : ?Mailcode_Parser_Statement_Tokenizer_Token_StringLiteral |
| 108 | 108 | { |
| 109 | 109 | $token = $this->getTokenByIndex($index); |
@@ -116,27 +116,27 @@ discard block |
||
| 116 | 116 | return null; |
| 117 | 117 | } |
| 118 | 118 | |
| 119 | - /** |
|
| 120 | - * Retrieves a keyword by its position in the command's parameters. |
|
| 121 | - * Returns null if there is no parameter at the specified index, or |
|
| 122 | - * if it is of another type. |
|
| 123 | - * |
|
| 124 | - * @param int $index Zero-based index. |
|
| 125 | - * @return Mailcode_Parser_Statement_Tokenizer_Token_Keyword|NULL |
|
| 126 | - */ |
|
| 119 | + /** |
|
| 120 | + * Retrieves a keyword by its position in the command's parameters. |
|
| 121 | + * Returns null if there is no parameter at the specified index, or |
|
| 122 | + * if it is of another type. |
|
| 123 | + * |
|
| 124 | + * @param int $index Zero-based index. |
|
| 125 | + * @return Mailcode_Parser_Statement_Tokenizer_Token_Keyword|NULL |
|
| 126 | + */ |
|
| 127 | 127 | public function getKeywordByIndex(int $index) : ?Mailcode_Parser_Statement_Tokenizer_Token_Keyword |
| 128 | 128 | { |
| 129 | 129 | return $this->keywords->getByIndex($index); |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | - /** |
|
| 133 | - * Retrieves an operand by its position in the command's parameters. |
|
| 134 | - * Returns null if there is no parameter at the specified index, or |
|
| 135 | - * if it is of another type. |
|
| 136 | - * |
|
| 137 | - * @param int $index Zero-based index. |
|
| 138 | - * @return Mailcode_Parser_Statement_Tokenizer_Token_Operand|NULL |
|
| 139 | - */ |
|
| 132 | + /** |
|
| 133 | + * Retrieves an operand by its position in the command's parameters. |
|
| 134 | + * Returns null if there is no parameter at the specified index, or |
|
| 135 | + * if it is of another type. |
|
| 136 | + * |
|
| 137 | + * @param int $index Zero-based index. |
|
| 138 | + * @return Mailcode_Parser_Statement_Tokenizer_Token_Operand|NULL |
|
| 139 | + */ |
|
| 140 | 140 | public function getOperandByIndex(int $index) : ?Mailcode_Parser_Statement_Tokenizer_Token_Operand |
| 141 | 141 | { |
| 142 | 142 | $token = $this->getTokenByIndex($index); |
@@ -149,14 +149,14 @@ discard block |
||
| 149 | 149 | return null; |
| 150 | 150 | } |
| 151 | 151 | |
| 152 | - /** |
|
| 153 | - * Retrieves a parameter token by its position in the command's parameters, |
|
| 154 | - * regardless of its type. Returns null if there is no parameter at the |
|
| 155 | - * specified index. |
|
| 156 | - * |
|
| 157 | - * @param int $index Zero-based index. |
|
| 158 | - * @return Mailcode_Parser_Statement_Tokenizer_Token|NULL |
|
| 159 | - */ |
|
| 152 | + /** |
|
| 153 | + * Retrieves a parameter token by its position in the command's parameters, |
|
| 154 | + * regardless of its type. Returns null if there is no parameter at the |
|
| 155 | + * specified index. |
|
| 156 | + * |
|
| 157 | + * @param int $index Zero-based index. |
|
| 158 | + * @return Mailcode_Parser_Statement_Tokenizer_Token|NULL |
|
| 159 | + */ |
|
| 160 | 160 | public function getTokenByIndex(int $index) : ?Mailcode_Parser_Statement_Tokenizer_Token |
| 161 | 161 | { |
| 162 | 162 | if(isset($this->tokens[$index])) |
@@ -172,19 +172,19 @@ discard block |
||
| 172 | 172 | return isset($this->tokens[$index]); |
| 173 | 173 | } |
| 174 | 174 | |
| 175 | - /** |
|
| 176 | - * Retrieves all tokens. |
|
| 177 | - * @return Mailcode_Parser_Statement_Tokenizer_Token[] |
|
| 178 | - */ |
|
| 175 | + /** |
|
| 176 | + * Retrieves all tokens. |
|
| 177 | + * @return Mailcode_Parser_Statement_Tokenizer_Token[] |
|
| 178 | + */ |
|
| 179 | 179 | public function getTokens() : array |
| 180 | 180 | { |
| 181 | 181 | return $this->tokens; |
| 182 | 182 | } |
| 183 | 183 | |
| 184 | - /** |
|
| 185 | - * Retrieves all string literals that were found in the command. |
|
| 186 | - * @return Mailcode_Parser_Statement_Tokenizer_Token_StringLiteral[] |
|
| 187 | - */ |
|
| 184 | + /** |
|
| 185 | + * Retrieves all string literals that were found in the command. |
|
| 186 | + * @return Mailcode_Parser_Statement_Tokenizer_Token_StringLiteral[] |
|
| 187 | + */ |
|
| 188 | 188 | public function getStringLiterals() : array |
| 189 | 189 | { |
| 190 | 190 | $result = array(); |
@@ -38,14 +38,14 @@ discard block |
||
| 38 | 38 | 'ExtractTokens' |
| 39 | 39 | ); |
| 40 | 40 | |
| 41 | - /** |
|
| 42 | - * @var Mailcode_Parser_Statement |
|
| 43 | - */ |
|
| 41 | + /** |
|
| 42 | + * @var Mailcode_Parser_Statement |
|
| 43 | + */ |
|
| 44 | 44 | protected $statement; |
| 45 | 45 | |
| 46 | - /** |
|
| 47 | - * @var string |
|
| 48 | - */ |
|
| 46 | + /** |
|
| 47 | + * @var string |
|
| 48 | + */ |
|
| 49 | 49 | protected $tokenized; |
| 50 | 50 | |
| 51 | 51 | /** |
@@ -53,9 +53,9 @@ discard block |
||
| 53 | 53 | */ |
| 54 | 54 | protected $tokensOrdered = array(); |
| 55 | 55 | |
| 56 | - /** |
|
| 57 | - * @var string[] |
|
| 58 | - */ |
|
| 56 | + /** |
|
| 57 | + * @var string[] |
|
| 58 | + */ |
|
| 59 | 59 | protected static $ids = array(); |
| 60 | 60 | |
| 61 | 61 | /** |
@@ -70,12 +70,12 @@ discard block |
||
| 70 | 70 | $this->tokenize($statement->getStatementString()); |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | - /** |
|
| 74 | - * Retrieves all tokens detected in the statement string, in |
|
| 75 | - * the order they were found. |
|
| 76 | - * |
|
| 77 | - * @return Mailcode_Parser_Statement_Tokenizer_Token[] |
|
| 78 | - */ |
|
| 73 | + /** |
|
| 74 | + * Retrieves all tokens detected in the statement string, in |
|
| 75 | + * the order they were found. |
|
| 76 | + * |
|
| 77 | + * @return Mailcode_Parser_Statement_Tokenizer_Token[] |
|
| 78 | + */ |
|
| 79 | 79 | public function getTokens() |
| 80 | 80 | { |
| 81 | 81 | return $this->tokensOrdered; |
@@ -86,11 +86,11 @@ discard block |
||
| 86 | 86 | return !empty($this->tokensOrdered); |
| 87 | 87 | } |
| 88 | 88 | |
| 89 | - /** |
|
| 90 | - * Whether there were any unknown tokens in the statement. |
|
| 91 | - * |
|
| 92 | - * @return bool |
|
| 93 | - */ |
|
| 89 | + /** |
|
| 90 | + * Whether there were any unknown tokens in the statement. |
|
| 91 | + * |
|
| 92 | + * @return bool |
|
| 93 | + */ |
|
| 94 | 94 | public function hasUnknown() : bool |
| 95 | 95 | { |
| 96 | 96 | $unknown = $this->getUnknown(); |
@@ -98,11 +98,11 @@ discard block |
||
| 98 | 98 | return !empty($unknown); |
| 99 | 99 | } |
| 100 | 100 | |
| 101 | - /** |
|
| 102 | - * Retrieves all unknown content tokens, if any. |
|
| 103 | - * |
|
| 104 | - * @return Mailcode_Parser_Statement_Tokenizer_Token_Unknown[] |
|
| 105 | - */ |
|
| 101 | + /** |
|
| 102 | + * Retrieves all unknown content tokens, if any. |
|
| 103 | + * |
|
| 104 | + * @return Mailcode_Parser_Statement_Tokenizer_Token_Unknown[] |
|
| 105 | + */ |
|
| 106 | 106 | public function getUnknown() |
| 107 | 107 | { |
| 108 | 108 | $result = array(); |
@@ -273,13 +273,13 @@ discard block |
||
| 273 | 273 | return $token; |
| 274 | 274 | } |
| 275 | 275 | |
| 276 | - /** |
|
| 277 | - * Generates a unique alphabet-based ID without numbers |
|
| 278 | - * to use as token name, to avoid conflicts with the |
|
| 279 | - * numbers detection. |
|
| 280 | - * |
|
| 281 | - * @return string |
|
| 282 | - */ |
|
| 276 | + /** |
|
| 277 | + * Generates a unique alphabet-based ID without numbers |
|
| 278 | + * to use as token name, to avoid conflicts with the |
|
| 279 | + * numbers detection. |
|
| 280 | + * |
|
| 281 | + * @return string |
|
| 282 | + */ |
|
| 283 | 283 | protected function generateID() : string |
| 284 | 284 | { |
| 285 | 285 | static $alphas; |
@@ -30,14 +30,14 @@ discard block |
||
| 30 | 30 | '{\s*([a-z]+)\s+([a-z-]+)\s*:([^}]*)}' |
| 31 | 31 | ); |
| 32 | 32 | |
| 33 | - /** |
|
| 34 | - * @var Mailcode |
|
| 35 | - */ |
|
| 33 | + /** |
|
| 34 | + * @var Mailcode |
|
| 35 | + */ |
|
| 36 | 36 | protected $mailcode; |
| 37 | 37 | |
| 38 | - /** |
|
| 39 | - * @var Mailcode_Commands |
|
| 40 | - */ |
|
| 38 | + /** |
|
| 39 | + * @var Mailcode_Commands |
|
| 40 | + */ |
|
| 41 | 41 | protected $commands; |
| 42 | 42 | |
| 43 | 43 | /** |
@@ -51,24 +51,24 @@ discard block |
||
| 51 | 51 | $this->commands = $this->mailcode->getCommands(); |
| 52 | 52 | } |
| 53 | 53 | |
| 54 | - /** |
|
| 55 | - * Gets the regex format string used to detect commands. |
|
| 56 | - * |
|
| 57 | - * @return string |
|
| 58 | - */ |
|
| 54 | + /** |
|
| 55 | + * Gets the regex format string used to detect commands. |
|
| 56 | + * |
|
| 57 | + * @return string |
|
| 58 | + */ |
|
| 59 | 59 | protected static function getRegex() : string |
| 60 | 60 | { |
| 61 | 61 | return '/'.implode('|', self::COMMAND_REGEX_PARTS).'/sixU'; |
| 62 | 62 | } |
| 63 | 63 | |
| 64 | - /** |
|
| 65 | - * Parses a string to detect all commands within. Returns a |
|
| 66 | - * collection instance that contains information on all the |
|
| 67 | - * commands. |
|
| 68 | - * |
|
| 69 | - * @param string $string |
|
| 70 | - * @return Mailcode_Collection A collection with all unique commands found. |
|
| 71 | - */ |
|
| 64 | + /** |
|
| 65 | + * Parses a string to detect all commands within. Returns a |
|
| 66 | + * collection instance that contains information on all the |
|
| 67 | + * commands. |
|
| 68 | + * |
|
| 69 | + * @param string $string |
|
| 70 | + * @return Mailcode_Collection A collection with all unique commands found. |
|
| 71 | + */ |
|
| 72 | 72 | public function parseString(string $string) : Mailcode_Collection |
| 73 | 73 | { |
| 74 | 74 | $collection = new Mailcode_Collection(); |
@@ -101,14 +101,14 @@ discard block |
||
| 101 | 101 | return preg_replace('%<style\b[^>]*>(.*?)</style>%six', '', $subject); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | - /** |
|
| 105 | - * Processes a single match found in the string: creates the command, |
|
| 106 | - * and adds it to the collection if it's a valid command, or to the list |
|
| 107 | - * of invalid commands otherwise. |
|
| 108 | - * |
|
| 109 | - * @param Mailcode_Parser_Match $match |
|
| 110 | - * @param Mailcode_Collection $collection |
|
| 111 | - */ |
|
| 104 | + /** |
|
| 105 | + * Processes a single match found in the string: creates the command, |
|
| 106 | + * and adds it to the collection if it's a valid command, or to the list |
|
| 107 | + * of invalid commands otherwise. |
|
| 108 | + * |
|
| 109 | + * @param Mailcode_Parser_Match $match |
|
| 110 | + * @param Mailcode_Collection $collection |
|
| 111 | + */ |
|
| 112 | 112 | protected function processMatch(Mailcode_Parser_Match $match, Mailcode_Collection $collection) : void |
| 113 | 113 | { |
| 114 | 114 | $name = $match->getName(); |
@@ -170,14 +170,14 @@ discard block |
||
| 170 | 170 | throw new Mailcode_Exception('Not a command', '', self::ERROR_NOT_A_COMMAND); |
| 171 | 171 | } |
| 172 | 172 | |
| 173 | - /** |
|
| 174 | - * Parses a single regex match: determines which named group |
|
| 175 | - * matches, and retrieves the according information. |
|
| 176 | - * |
|
| 177 | - * @param array[] $matches The regex results array. |
|
| 178 | - * @param int $index The matched index. |
|
| 179 | - * @return Mailcode_Parser_Match |
|
| 180 | - */ |
|
| 173 | + /** |
|
| 174 | + * Parses a single regex match: determines which named group |
|
| 175 | + * matches, and retrieves the according information. |
|
| 176 | + * |
|
| 177 | + * @param array[] $matches The regex results array. |
|
| 178 | + * @param int $index The matched index. |
|
| 179 | + * @return Mailcode_Parser_Match |
|
| 180 | + */ |
|
| 181 | 181 | protected function parseMatch(array $matches, int $index) : Mailcode_Parser_Match |
| 182 | 182 | { |
| 183 | 183 | $name = ''; // the command name, e.g. "showvar" |
@@ -215,27 +215,27 @@ discard block |
||
| 215 | 215 | ); |
| 216 | 216 | } |
| 217 | 217 | |
| 218 | - /** |
|
| 219 | - * Creates an instance of the safeguard tool, which |
|
| 220 | - * is used to safeguard commands in a string with placeholders. |
|
| 221 | - * |
|
| 222 | - * @param string $subject The string to use to safeguard commands in. |
|
| 223 | - * @return Mailcode_Parser_Safeguard |
|
| 224 | - * @see Mailcode_Parser_Safeguard |
|
| 225 | - */ |
|
| 218 | + /** |
|
| 219 | + * Creates an instance of the safeguard tool, which |
|
| 220 | + * is used to safeguard commands in a string with placeholders. |
|
| 221 | + * |
|
| 222 | + * @param string $subject The string to use to safeguard commands in. |
|
| 223 | + * @return Mailcode_Parser_Safeguard |
|
| 224 | + * @see Mailcode_Parser_Safeguard |
|
| 225 | + */ |
|
| 226 | 226 | public function createSafeguard(string $subject) : Mailcode_Parser_Safeguard |
| 227 | 227 | { |
| 228 | 228 | return new Mailcode_Parser_Safeguard($this, $subject); |
| 229 | 229 | } |
| 230 | 230 | |
| 231 | - /** |
|
| 232 | - * Creates a statement parser, which is used to validate arbitrary |
|
| 233 | - * command statements. |
|
| 234 | - * |
|
| 235 | - * @param string $statement |
|
| 236 | - * @param bool $freeform |
|
| 237 | - * @return Mailcode_Parser_Statement |
|
| 238 | - */ |
|
| 231 | + /** |
|
| 232 | + * Creates a statement parser, which is used to validate arbitrary |
|
| 233 | + * command statements. |
|
| 234 | + * |
|
| 235 | + * @param string $statement |
|
| 236 | + * @param bool $freeform |
|
| 237 | + * @return Mailcode_Parser_Statement |
|
| 238 | + */ |
|
| 239 | 239 | public function createStatement(string $statement, bool $freeform=false) : Mailcode_Parser_Statement |
| 240 | 240 | { |
| 241 | 241 | return new Mailcode_Parser_Statement($statement, $freeform); |