LCOV - code coverage report
Current view: top level - src - version.h (source / functions) Hit Total Coverage
Test: app.info Lines: 9 9 100.0 %
Date: 2017-10-20 Functions: 1 1 100.0 %

          Line data    Source code
       1             : // Copyright 2009 the V8 project 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             : #ifndef V8_VERSION_H_
       6             : #define V8_VERSION_H_
       7             : 
       8             : #include "src/base/functional.h"
       9             : #include "src/vector.h"
      10             : 
      11             : namespace v8 {
      12             : namespace internal {
      13             : 
      14             : class Version {
      15             :  public:
      16             :   // Return the various version components.
      17       55300 :   static int GetMajor() { return major_; }
      18       55300 :   static int GetMinor() { return minor_; }
      19       55300 :   static int GetBuild() { return build_; }
      20       55300 :   static int GetPatch() { return patch_; }
      21       55295 :   static const char* GetEmbedder() { return embedder_; }
      22       55300 :   static bool IsCandidate() { return candidate_; }
      23         758 :   static uint32_t Hash() {
      24             :     return static_cast<uint32_t>(
      25         758 :         base::hash_combine(major_, minor_, build_, patch_));
      26             :   }
      27             : 
      28             :   // Calculate the V8 version string.
      29             :   static void GetString(Vector<char> str);
      30             : 
      31             :   // Calculate the SONAME for the V8 shared library.
      32             :   static void GetSONAME(Vector<char> str);
      33             : 
      34          36 :   static const char* GetVersion() { return version_string_; }
      35             : 
      36             :  private:
      37             :   // NOTE: can't make these really const because of test-version.cc.
      38             :   static int major_;
      39             :   static int minor_;
      40             :   static int build_;
      41             :   static int patch_;
      42             :   static const char* embedder_;
      43             :   static bool candidate_;
      44             :   static const char* soname_;
      45             :   static const char* version_string_;
      46             : 
      47             :   // In test-version.cc.
      48             :   friend void SetVersion(int major, int minor, int build, int patch,
      49             :                          const char* embedder, bool candidate,
      50             :                          const char* soname);
      51             : };
      52             : 
      53             : }  // namespace internal
      54             : }  // namespace v8
      55             : 
      56             : #endif  // V8_VERSION_H_

Generated by: LCOV version 1.10