• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 namespace blink {
6 
7 // Simple global constants.
8 const char kHelloWorldConstant[] = "Hello world!";
9 // Make sure a one-character constant doesn't get mangled.
10 const float kE = 2.718281828;
11 // Some constants start with a capital letter already.
12 const int kSpeedOfLightInMetresPerSecond = 299792458;
13 
14 // Already Chrome style, so shouldn't change.
15 const float kPi = 3.141592654;
16 
17 class C {
18  public:
19   // Static class constants.
20   static const int kUsefulConstant = 8;
21   // Note: s_ prefix should not be retained.
22   static const int kStaticConstant = 9;
23   // Note: m_ prefix should not be retained even though the proper prefix is s_.
24   static const int kSuperNumber = 42;
25 
26   // Not a constant even though it has static storage duration.
27   static const char* current_event_;
28 
29   static int Function();
30 
FunctionWithConstant()31   static void FunctionWithConstant() {
32     const int kFunctionConstant = 4;
33     const int kFunctionConstantFromExpression = 4 + 6;
34     const int kFunctionConstantFromOtherConsts =
35         kFunctionConstant + kFunctionConstantFromExpression;
36     // These are constants but they are hacker_case, so we just leave them as
37     // is since the author explicitly did this.
38     const int should_not_be_renamed_to_a_const = 9 - 2;
39     const int should_not_also_be_renamed_to_a_const =
40         kFunctionConstant + kFunctionConstantFromOtherConsts;
41     const int not_compile_time_const = kFunctionConstant + Function();
42   }
43 };
44 
45 // |constParam| should not be renamed to |kConstParam|.
F(const bool const_param=true)46 void F(const bool const_param = true) {
47   // Constant in function body.
48   static const char kStaticString[] = "abc";
49   // Constant-style naming, since it's initialized with a literal.
50   const char* const kNonStaticStringConstant = "def";
51   // Not constant-style naming, since it's not initialized with a literal.
52   const char* const non_static_string_unconstant = kNonStaticStringConstant;
53 }
54 
55 }  // namespace blink
56