phpcs:set Universal.WhiteSpace.PrecisionAlignment ignoreAlignmentBefore[] T_DOC_COMMENT_WHITESPACE,T_COMMENT,T_INLINE_HTML

<?php
/*
 * File with space based indentation, testing the ignoreAlignmentBefore property.
 */

    function exampleFunctionA() {} // OK: [4 spaces].

/*
 * OK: sets of four spaces.
 */
        function exampleFunctionB() {}

/*
 * OK: sets of four spaces.
 */
            function exampleFunctionC() {}

    /**
     * OK: Doc comment is indented with 4 spaces + one space for the star alignment.
     *
      * @var string  <= Ignored.
     * @access private
     */

    /*
        OK: Multi-line comment is indented with 4 spaces + 4 spaces for the text alignment.
     <= Ignored.
        OK: Another line of text.
     */

    /*
     * OK: Multi-line comment is indented with 4 spaces + one space for the star alignment.
     *
       * <= Ignored.
     */

    function exampleFunctionD() {}   // Warning: [4 spaces][extra space].
        function exampleFunctionE() {}  // Warning: [4 spaces][extra space][extra space].
        function exampleFunctionF() {} // Warning: [4 spaces][extra space][extra space][extra space].

    $object->functioncall()
        -> chained()
        -> anothermethod();

    $object->functioncall()
            -> chained()        // Warning: [4 spaces][4 spaces][extra space][extra space][extra space].
            -> anothermethod(); // Warning: [4 spaces][4 spaces][extra space][extra space][extra space].

    ?> <!-- Warning: three spaces. -->

    <p>
      Ignored: Some inline HTML with precision alignment.
    </p>

 <?php // Ignored.

// Testing empty line within a comment.
/*

*/

// Testing that incorrectly aligned docblocks and multi-line inline comments do not trigger errors.
// The incorrectly star alignment is not the concern of this sniff.
    /**
    * Provision some options
    */

    /*
    * Provision some options
    */

?>

<script type="text/javascript">
    /*
     * Multi-line javascript comment should not trigger this sniff.
     */
    alert('OK');
      alert('bad'); <!-- Ignored. -->
</script>

<?php

// phpcs:set Universal.WhiteSpace.PrecisionAlignment ignoreAlignmentBefore[]
