LCOV - code coverage report
Current view: top level - gfx/angle/src/compiler/preprocessor - DiagnosticsBase.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 1 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
       3             : // Use of this source code is governed by a BSD-style license that can be
       4             : // found in the LICENSE file.
       5             : //
       6             : 
       7             : #ifndef COMPILER_PREPROCESSOR_DIAGNOSTICSBASE_H_
       8             : #define COMPILER_PREPROCESSOR_DIAGNOSTICSBASE_H_
       9             : 
      10             : #include <string>
      11             : 
      12             : namespace pp
      13             : {
      14             : 
      15             : struct SourceLocation;
      16             : 
      17             : // Base class for reporting diagnostic messages.
      18             : // Derived classes are responsible for formatting and printing the messages.
      19           0 : class Diagnostics
      20             : {
      21             :   public:
      22             :     enum Severity
      23             :     {
      24             :         PP_ERROR,
      25             :         PP_WARNING
      26             :     };
      27             :     enum ID
      28             :     {
      29             :         PP_ERROR_BEGIN,
      30             :         PP_INTERNAL_ERROR,
      31             :         PP_OUT_OF_MEMORY,
      32             :         PP_INVALID_CHARACTER,
      33             :         PP_INVALID_NUMBER,
      34             :         PP_INTEGER_OVERFLOW,
      35             :         PP_FLOAT_OVERFLOW,
      36             :         PP_TOKEN_TOO_LONG,
      37             :         PP_INVALID_EXPRESSION,
      38             :         PP_DIVISION_BY_ZERO,
      39             :         PP_EOF_IN_COMMENT,
      40             :         PP_UNEXPECTED_TOKEN,
      41             :         PP_DIRECTIVE_INVALID_NAME,
      42             :         PP_MACRO_NAME_RESERVED,
      43             :         PP_MACRO_REDEFINED,
      44             :         PP_MACRO_PREDEFINED_REDEFINED,
      45             :         PP_MACRO_PREDEFINED_UNDEFINED,
      46             :         PP_MACRO_UNTERMINATED_INVOCATION,
      47             :         PP_MACRO_UNDEFINED_WHILE_INVOKED,
      48             :         PP_MACRO_TOO_FEW_ARGS,
      49             :         PP_MACRO_TOO_MANY_ARGS,
      50             :         PP_MACRO_DUPLICATE_PARAMETER_NAMES,
      51             :         PP_MACRO_INVOCATION_CHAIN_TOO_DEEP,
      52             :         PP_CONDITIONAL_ENDIF_WITHOUT_IF,
      53             :         PP_CONDITIONAL_ELSE_WITHOUT_IF,
      54             :         PP_CONDITIONAL_ELSE_AFTER_ELSE,
      55             :         PP_CONDITIONAL_ELIF_WITHOUT_IF,
      56             :         PP_CONDITIONAL_ELIF_AFTER_ELSE,
      57             :         PP_CONDITIONAL_UNTERMINATED,
      58             :         PP_CONDITIONAL_UNEXPECTED_TOKEN,
      59             :         PP_INVALID_EXTENSION_NAME,
      60             :         PP_INVALID_EXTENSION_BEHAVIOR,
      61             :         PP_INVALID_EXTENSION_DIRECTIVE,
      62             :         PP_INVALID_VERSION_NUMBER,
      63             :         PP_INVALID_VERSION_DIRECTIVE,
      64             :         PP_VERSION_NOT_FIRST_STATEMENT,
      65             :         PP_VERSION_NOT_FIRST_LINE_ESSL3,
      66             :         PP_INVALID_LINE_NUMBER,
      67             :         PP_INVALID_FILE_NUMBER,
      68             :         PP_INVALID_LINE_DIRECTIVE,
      69             :         PP_NON_PP_TOKEN_BEFORE_EXTENSION_ESSL3,
      70             :         PP_UNDEFINED_SHIFT,
      71             :         PP_ERROR_END,
      72             : 
      73             :         PP_WARNING_BEGIN,
      74             :         PP_EOF_IN_DIRECTIVE,
      75             :         PP_UNRECOGNIZED_PRAGMA,
      76             :         PP_NON_PP_TOKEN_BEFORE_EXTENSION_ESSL1,
      77             :         PP_WARNING_MACRO_NAME_RESERVED,
      78             :         PP_WARNING_END
      79             :     };
      80             : 
      81             :     virtual ~Diagnostics();
      82             : 
      83             :     void report(ID id, const SourceLocation &loc, const std::string &text);
      84             : 
      85             :   protected:
      86             :     Severity severity(ID id);
      87             :     std::string message(ID id);
      88             : 
      89             :     virtual void print(ID id,
      90             :                        const SourceLocation &loc,
      91             :                        const std::string &text) = 0;
      92             : };
      93             : 
      94             : }  // namespace pp
      95             : 
      96             : #endif  // COMPILER_PREPROCESSOR_DIAGNOSTICSBASE_H_

Generated by: LCOV version 1.13