| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <type_traits> | 5 #include <type_traits> |
| 6 | 6 |
| 7 namespace not_blink { | 7 namespace not_blink { |
| 8 | 8 |
| 9 void function(int x) {} | 9 void function(int x) {} |
| 10 | 10 |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 const int maybeAConstToo = sizeof(T); | 56 const int maybeAConstToo = sizeof(T); |
| 57 const int isAConstToo = number; | 57 const int isAConstToo = number; |
| 58 // These are built from calls to functions which produces inconsistent | 58 // These are built from calls to functions which produces inconsistent |
| 59 // results so they should not be considered const to be safe. | 59 // results so they should not be considered const to be safe. |
| 60 const bool fromAMethod = functionNotMarkedConstexpr(number); | 60 const bool fromAMethod = functionNotMarkedConstexpr(number); |
| 61 const bool fromATemplatedMethod = templatedFunctionNotMarkedConstexpr(number); | 61 const bool fromATemplatedMethod = templatedFunctionNotMarkedConstexpr(number); |
| 62 // A complex statement of const things is const. | 62 // A complex statement of const things is const. |
| 63 const bool complexConst = number || (number + 1); | 63 const bool complexConst = number || (number + 1); |
| 64 // A complex statement with a non-const thing is not const. | 64 // A complex statement with a non-const thing is not const. |
| 65 const bool complexNotConst = number || (g_globalNumber + 1); | 65 const bool complexNotConst = number || (g_globalNumber + 1); |
| 66 // A const built from other consts is a const. |
| 67 const bool constFromAConst = complexConst || number; |
| 66 } | 68 } |
| 67 | 69 |
| 68 template <int number, typename... T> | 70 template <int number, typename... T> |
| 69 void F() { | 71 void F() { |
| 70 // These are const but hacker_case so we leave them alone. | 72 // These are const but hacker_case so we leave them alone. |
| 71 const int maybe_a_const = sizeof...(T); | 73 const int maybe_a_const = sizeof...(T); |
| 72 const int is_a_const = number; | 74 const int is_a_const = number; |
| 73 // These are const expressions so they get a k prefix. | 75 // These are const expressions so they get a k prefix. |
| 74 const int maybeAConstToo = sizeof...(T); | 76 const int maybeAConstToo = sizeof...(T); |
| 75 const int isAConstToo = number; | 77 const int isAConstToo = number; |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 368 // Need to rewrite |f| to |F| below (because this method name | 370 // Need to rewrite |f| to |F| below (because this method name |
| 369 // does get rewritten when processing blink::test_unnamed_arg::Class). | 371 // does get rewritten when processing blink::test_unnamed_arg::Class). |
| 370 // See also https://crbug.com/670434. | 372 // See also https://crbug.com/670434. |
| 371 output->f(123); | 373 output->f(123); |
| 372 } | 374 } |
| 373 }; | 375 }; |
| 374 | 376 |
| 375 } // namespace blink_methods_called_from_mojo_traits_are_not_rewritten | 377 } // namespace blink_methods_called_from_mojo_traits_are_not_rewritten |
| 376 | 378 |
| 377 } // namespace not_blink | 379 } // namespace not_blink |
| OLD | NEW |