Coverage Report

Created: 2025-11-29 07:01

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/proc/self/cwd/external/antlr4-cpp-runtime~/runtime/src/Exceptions.h
Line
Count
Source
1
/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
 * Use of this file is governed by the BSD 3-clause license that
3
 * can be found in the LICENSE.txt file in the project root.
4
 */
5
6
#pragma once
7
8
#include "antlr4-common.h"
9
10
namespace antlr4 {
11
12
  // An exception hierarchy modelled loosely after java.lang.* exceptions.
13
  class ANTLR4CPP_PUBLIC RuntimeException : public std::exception {
14
  private:
15
    std::string _message;
16
  public:
17
    RuntimeException(const std::string &msg = "");
18
19
    virtual const char* what() const noexcept override;
20
  };
21
22
  class ANTLR4CPP_PUBLIC IllegalStateException : public RuntimeException {
23
  public:
24
0
    IllegalStateException(const std::string &msg = "") : RuntimeException(msg) {}
25
0
    IllegalStateException(IllegalStateException const&) = default;
26
    ~IllegalStateException();
27
    IllegalStateException& operator=(IllegalStateException const&) = default;
28
  };
29
30
  class ANTLR4CPP_PUBLIC IllegalArgumentException : public RuntimeException {
31
  public:
32
    IllegalArgumentException(IllegalArgumentException const&) = default;
33
0
    IllegalArgumentException(const std::string &msg = "") : RuntimeException(msg) {}
34
    ~IllegalArgumentException();
35
    IllegalArgumentException& operator=(IllegalArgumentException const&) = default;
36
  };
37
38
  class ANTLR4CPP_PUBLIC NullPointerException : public RuntimeException {
39
  public:
40
0
    NullPointerException(const std::string &msg = "") : RuntimeException(msg) {}
41
    NullPointerException(NullPointerException const&) = default;
42
    ~NullPointerException();
43
    NullPointerException& operator=(NullPointerException const&) = default;
44
  };
45
46
  class ANTLR4CPP_PUBLIC IndexOutOfBoundsException : public RuntimeException {
47
  public:
48
0
    IndexOutOfBoundsException(const std::string &msg = "") : RuntimeException(msg) {}
49
    IndexOutOfBoundsException(IndexOutOfBoundsException const&) = default;
50
    ~IndexOutOfBoundsException();
51
    IndexOutOfBoundsException& operator=(IndexOutOfBoundsException const&) = default;
52
  };
53
54
  class ANTLR4CPP_PUBLIC UnsupportedOperationException : public RuntimeException {
55
  public:
56
0
    UnsupportedOperationException(const std::string &msg = "") : RuntimeException(msg) {}
57
    UnsupportedOperationException(UnsupportedOperationException const&) = default;
58
    ~UnsupportedOperationException();
59
    UnsupportedOperationException& operator=(UnsupportedOperationException const&) = default;
60
61
  };
62
63
  class ANTLR4CPP_PUBLIC EmptyStackException : public RuntimeException {
64
  public:
65
0
    EmptyStackException(const std::string &msg = "") : RuntimeException(msg) {}
66
    EmptyStackException(EmptyStackException const&) = default;
67
    ~EmptyStackException();
68
    EmptyStackException& operator=(EmptyStackException const&) = default;
69
  };
70
71
  // IOException is not a runtime exception (in the java hierarchy).
72
  // Hence we have to duplicate the RuntimeException implementation.
73
  class ANTLR4CPP_PUBLIC IOException : public std::exception {
74
  private:
75
    std::string _message;
76
77
  public:
78
    IOException(const std::string &msg = "");
79
80
    virtual const char* what() const noexcept override;
81
  };
82
83
  class ANTLR4CPP_PUBLIC CancellationException : public IllegalStateException {
84
  public:
85
0
    CancellationException(const std::string &msg = "") : IllegalStateException(msg) {}
86
0
    CancellationException(CancellationException const&) = default;
87
    ~CancellationException();
88
    CancellationException& operator=(CancellationException const&) = default;
89
  };
90
91
  class ANTLR4CPP_PUBLIC ParseCancellationException : public CancellationException {
92
  public:
93
0
    ParseCancellationException(const std::string &msg = "") : CancellationException(msg) {}
94
0
    ParseCancellationException(ParseCancellationException const&) = default;
95
    ~ParseCancellationException();
96
    ParseCancellationException& operator=(ParseCancellationException const&) = default;
97
  };
98
99
} // namespace antlr4