protected function get_indentation_size( $ptr ) {

		// Find the first token on the line.
		for ( ; $ptr >= 0; $ptr-- ) {
			if ( 1 === $this->tokens[ $ptr ]['column'] ) {
				break;
			}
		}

		$whitespace = '';

		if ( \T_WHITESPACE === $this->tokens[ $ptr ]['code']
			|| \T_DOC_COMMENT_WHITESPACE === $this->tokens[ $ptr ]['code']
		) {
			return $this->tokens[ $ptr ]['length'];
		}

		/*
		 * Special case for multi-line, non-docblock comments.
		 * Only applicable for subsequent lines in an array item.
		 *
		 * First/Single line is tokenized as T_WHITESPACE + T_COMMENT
		 * Subsequent lines are tokenized as T_COMMENT including the indentation whitespace.
		 */
		if ( \T_COMMENT === $this->tokens[ $ptr ]['code'] ) {
			$content        = $this->tokens[ $ptr ]['content'];
			$actual_comment = ltrim( $content );
			$whitespace     = str_replace( $actual_comment, '', $content );
		}

		return \strlen( $whitespace );
	}
protected function get_indentation_size( $ptr ) {

		// Find the first token on the line.
		for ( ; $ptr >= 0; $ptr-- ) {
			if ( 1 === $this->tokens[ $ptr ]['column'] ) {
				break;
			}
		}

		$whitespace = '';

		if ( \T_WHITESPACE === $this->tokens[ $ptr ]['code']
			|| \T_DOC_COMMENT_WHITESPACE === $this->tokens[ $ptr ]['code']
		) {
			return $this->tokens[ $ptr ]['length'];
		}

		/*
		 * Special case for multi-line, non-docblock comments.
		 * Only applicable for subsequent lines in an array item.
		 *
		 * First/Single line is tokenized as T_WHITESPACE + T_COMMENT
		 * Subsequent lines are tokenized as T_COMMENT including the indentation whitespace.
		 */
		if ( \T_COMMENT === $this->tokens[ $ptr ]['code'] ) {
			$content        = $this->tokens[ $ptr ]['content'];
			$actual_comment = ltrim( $content );
			$whitespace     = str_replace( $actual_comment, '', $content );
		}

		return \strlen( $whitespace );
	}
protected function get_indentation_size ( $ ptr ) { // Find the first token on the line. for ( ; $ ptr >= 0 ; $ ptr -- ) { if ( 1 === $ this -> tokens [ $ ptr ] [ 'column' ] ) { break ; } } $ whitespace = '' ; if ( \ T_WHITESPACE === $ this -> tokens [ $ ptr ] [ 'code' ] || \ T_DOC_COMMENT_WHITESPACE === $ this -> tokens [ $ ptr ] [ 'code' ] ) { return $ this -> tokens [ $ ptr ] [ 'length' ] ; } /*
		 * Special case for multi-line, non-docblock comments.
		 * Only applicable for subsequent lines in an array item.
		 *
		 * First/Single line is tokenized as T_WHITESPACE + T_COMMENT
		 * Subsequent lines are tokenized as T_COMMENT including the indentation whitespace.
		 */ if ( \ T_COMMENT === $ this -> tokens [ $ ptr ] [ 'code' ] ) { $ content = $ this -> tokens [ $ ptr ] [ 'content' ] ; $ actual_comment = ltrim ( $ content ) ; $ whitespace = str_replace ( $ actual_comment , '' , $ content ) ; } return \ strlen ( $ whitespace ) ; }
Determine the line indentation whitespace.

@param int $ptr Stack pointer to an arbitrary token on a line.

@return int Nr of spaces found. Where necessary, tabs are translated to spaces.
Determine the line indentation whitespace .