• 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 helloWorldConstant[] = "Hello world!";
9 // Make sure a one-character constant doesn't get mangled.
10 const float e = 2.718281828;
11 // Some constants start with a capital letter already.
12 const int SpeedOfLightInMetresPerSecond = 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 usefulConstant = 8;
21   // Note: s_ prefix should not be retained.
22   static const int s_staticConstant = 9;
23   // Note: m_ prefix should not be retained even though the proper prefix is s_.
24   static const int m_superNumber = 42;
25 
26   // Not a constant even though it has static storage duration.
27   static const char* m_currentEvent;
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 constParam=true)46 void F(const bool constParam = true) {
47   // Constant in function body.
48   static const char staticString[] = "abc";
49   // Constant-style naming, since it's initialized with a literal.
50   const char* const nonStaticStringConstant = "def";
51   // Not constant-style naming, since it's not initialized with a literal.
52   const char* const nonStaticStringUnconstant = nonStaticStringConstant;
53 }
54 
55 }  // namespace blink
56