r195251 - Support for JavaScript === and !== operators.

Alexander Kornienko alexfh at google.com
Wed Nov 20 08:32:33 PST 2013


On Wed, Nov 20, 2013 at 4:03 PM, Daniel Jasper <djasper at google.com> wrote:

> +
>> +TEST_F(FormatTest, UnderstandsJavaScript) {
>> +  verifyFormat("a === b;");
>> +  verifyFormat("aaaaaaa === b;", getLLVMStyleWithColumns(10));
>>
>
> How is this the correct format? Wouldn't we expect a break before "b"?
>

This need some work still, this patch just stops clang-format from breaking
the code by inserting a space inside these operators. I'll add a FIXME to
the test and a commented out test with the correct formatting.


>
>
>> +  verifyFormat("a !== b;");
>> +  verifyFormat("aaaaaaa !== b;", getLLVMStyleWithColumns(10));
>> +}
>> +
>>
>
> Also, I think these tests are not sufficient. What if the LHS of one of
> these operators needs to be broken over multiple lines (there is a whole
> lot of logic of what happens to the RHS then)?
>

I'll add more complex tests (probably, commented-out, as we don't get this
quite right yet).

I think we actually might need to merge the tokens.
>

I was thinking about this. What if we just "hide" the "=", so that
clang-format thinks there's just == or !=? I don't think we need to have
any logic specific to javascript identity operators.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131120/86401ade/attachment.html>


More information about the cfe-commits mailing list