clang-metatool
A framework for reusing code in clang tools
Main Page
Related Pages
+
Namespaces
Namespace List
+
Namespace Members
All
Typedefs
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
a
b
c
d
e
f
g
i
l
m
o
p
r
t
u
v
~
+
Functions
b
c
d
e
f
g
i
m
o
p
r
v
~
Variables
Typedefs
+
Files
File List
+
File Members
All
Functions
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Pages
clangmetatool
propagation
constant_integer_propagator.h
Go to the documentation of this file.
1
#ifndef INCLUDED_CLANGMETATOOL_PROPAGATION_CONSTANT_INTEGER_PROPAGATOR_H
2
#define INCLUDED_CLANGMETATOOL_PROPAGATION_CONSTANT_INTEGER_PROPAGATOR_H
3
4
#include <iostream>
5
#include <cstdint>
6
7
#include <
clangmetatool/propagation/propagation_result.h
>
8
12
namespace
clang
{
13
class
CompilerInstance;
14
class
DeclRefExpr;
15
class
FunctionDecl;
16
}
17
18
namespace
clangmetatool
{
19
namespace
propagation {
20
24
class
ConstantIntegerPropagatorImpl;
25
40
class
ConstantIntegerPropagator
{
41
private
:
45
ConstantIntegerPropagatorImpl *impl;
46
47
public
:
52
ConstantIntegerPropagator
(
const
clang::CompilerInstance *ci);
53
57
~
ConstantIntegerPropagator
();
58
66
PropagationResult<std::intmax_t>
67
runPropagation(
const
clang::FunctionDecl *
function
,
68
const
clang::DeclRefExpr *variable);
69
74
void
dump(std::ostream &stream)
const
;
75
};
76
77
}
// namespace propagation
78
}
// namespace clangmetatool
79
80
#endif
81
82
// ----------------------------------------------------------------------------
83
// Copyright 2018 Bloomberg Finance L.P.
84
//
85
// Licensed under the Apache License, Version 2.0 (the "License");
86
// you may not use this file except in compliance with the License.
87
// You may obtain a copy of the License at
88
//
89
// http://www.apache.org/licenses/LICENSE-2.0
90
//
91
// Unless required by applicable law or agreed to in writing, software
92
// distributed under the License is distributed on an "AS IS" BASIS,
93
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
94
// See the License for the specific language governing permissions and
95
// limitations under the License.
96
// ----------------------------- END-OF-FILE ----------------------------------
clangmetatool::propagation::PropagationResult
Definition:
propagation_result.h:15
clangmetatool::propagation::ConstantIntegerPropagator
Definition:
constant_integer_propagator.h:40
propagation_result.h
clangmetatool
Definition:
meta_tool.h:17
clang
Definition:
constant_cstring_propagator.h:12
Generated by
1.8.13