<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/55532>55532</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang-format incorrectly indents continuation lines of `class` statements
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-format,
            typescript
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          zmodem
      </td>
    </tr>
</table>

<pre>
    Consider:

```
$ cat /tmp/a.ts
class LlamaSelectionWidget extends mixinBehaviors([I18nBehavior], PolymerElement) {
  // ...
}
$ build.release/bin/clang-format -style=Google /tmp/a.ts
class LlamaSelectionWidget extends mixinBehaviors
([I18nBehavior], PolymerElement) {
  // ...
}
```

The expected behaviour would be that the `([I18nBehavior], PolymerElement) {` gets indented.

It actually looks better when using a generic filename so clang-format cannot determine the language:

```
$ mv /tmp/a.ts /tmp/a
$ build.release/bin/clang-format -style=Google /tmp/a
class LlamaSelectionWidget extends mixinBehaviors([I18nBehavior],
                                                  PolymerElement) {
  // ...
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytkk1v2zAMhn-NfCFqOIqdxAcf1mYdCuwwYAN2li3G1qYPQ6K7Zr9-tNOuSS9DsRiGBOrrfV6SbdDH5i74ZDRGsf4gir0oXsZN8fyfQllCpwiEvCc38qhySqetzqqU4LNVTn1Fix2Z4L8b3SMBPhF6ncCZJ-NvcVCPJsQk5E5Utw-r3d8lUe2FvIMvwR4dxo8WHXoSsgaxvT2JwKzMP-R5_ky03b-itZOxOo8srxLysdZ4HpnM9zeHEB2T3yQ6WhTr_acQeovXcfIMcF0_bzK_jN8GZIaRmVBDe5KZIvwKk51joIEtEh-a772PZ1MAO0xgvOZV1Pm57gOB6mhS1h7BhvAzsRgRsvKAHqZkfA-K73uMpoODseiVQ0gBLpLfKe8DgUa-6ozHBXU-MKke_9157vGyXGfRlXrgyq38UuT3fv_ZMZlu1rpe1yojQxabC_PGdyFGNsWlPNU6QRc8GT-p2ShYLkyCcJh7aMnE3BqJFC0wKZuibQaiMc0FW1h6Q8PU5l1wHFj7-DLdjDH8YCUOTUoTcp7uq6pay2xotuWuxFoW1aHarMpaVyXuOrmSum5rRi8zq1q0qeG8CinPHXA4dzFPdBwxddGMy1q1z0wjC8lvrrYrWRRlmW-k4hi1Unqlu7oSZYFOGZvPeHmIfRabhbSd-sSb1iRKr5ts3vQecaHg99VEQ4jNbxc0umzx1CyG_gBt7Zvd">