souffle
2.0.2-371-g6315b36
|
#include <PolymorphicObjects.h>
Public Member Functions | |
NumericConstant::Type | getInferredType (const NumericConstant *nc) const |
FunctorOp | getOverloadedFunctionOp (const IntrinsicFunctor *inf) const |
AggregateOp | getOverloadedOperator (const Aggregator *agg) const |
BinaryConstraintOp | getOverloadedOperator (const BinaryConstraint *bc) const |
bool | hasInvalidType (const NumericConstant *nc) const |
PolymorphicObjectsAnalysis () | |
void | print (std::ostream &os) const override |
print the analysis result in HTML format More... | |
void | run (const TranslationUnit &translationUnit) override |
run analysis for a Ast translation unit More... | |
Public Member Functions inherited from souffle::ast::analysis::Analysis | |
Analysis (std::string identifier) | |
virtual const std::string & | getName () const |
get name of the analysis More... | |
virtual | ~Analysis ()=default |
Static Public Attributes | |
static constexpr const char * | name = "polymorphic-objects" |
Private Attributes | |
const TypeAnalysis * | typeAnalysis = nullptr |
Additional Inherited Members | |
Protected Attributes inherited from souffle::ast::analysis::Analysis | |
const std::string | identifier |
Definition at line 39 of file PolymorphicObjects.h.
|
inline |
Definition at line 43 of file PolymorphicObjects.h.
NumericConstant::Type souffle::ast::analysis::PolymorphicObjectsAnalysis::getInferredType | ( | const NumericConstant * | nc | ) | const |
Definition at line 40 of file PolymorphicObjects.cpp.
References souffle::ast::analysis::TypeAnalysis::hasValidTypeInfo(), and typeAnalysis.
FunctorOp souffle::ast::analysis::PolymorphicObjectsAnalysis::getOverloadedFunctionOp | ( | const IntrinsicFunctor * | inf | ) | const |
Definition at line 36 of file PolymorphicObjects.cpp.
References souffle::ast::analysis::TypeAnalysis::getPolymorphicNumericConstantType(), and typeAnalysis.
AggregateOp souffle::ast::analysis::PolymorphicObjectsAnalysis::getOverloadedOperator | ( | const Aggregator * | agg | ) | const |
Definition at line 52 of file PolymorphicObjects.cpp.
BinaryConstraintOp souffle::ast::analysis::PolymorphicObjectsAnalysis::getOverloadedOperator | ( | const BinaryConstraint * | bc | ) | const |
Definition at line 48 of file PolymorphicObjects.cpp.
References souffle::ast::analysis::TypeAnalysis::getPolymorphicOperator(), and typeAnalysis.
bool souffle::ast::analysis::PolymorphicObjectsAnalysis::hasInvalidType | ( | const NumericConstant * | nc | ) | const |
Definition at line 44 of file PolymorphicObjects.cpp.
References souffle::ast::analysis::TypeAnalysis::getPolymorphicOperator(), and typeAnalysis.
Referenced by souffle::ast::transform::TypeCheckerImpl::visitStringConstant().
|
overridevirtual |
print the analysis result in HTML format
Reimplemented from souffle::ast::analysis::Analysis.
Definition at line 34 of file PolymorphicObjects.cpp.
|
overridevirtual |
run analysis for a Ast translation unit
Implements souffle::ast::analysis::Analysis.
Definition at line 30 of file PolymorphicObjects.cpp.
|
staticconstexpr |
Definition at line 41 of file PolymorphicObjects.h.
|
private |
Definition at line 63 of file PolymorphicObjects.h.
Referenced by getInferredType(), getOverloadedFunctionOp(), getOverloadedOperator(), and hasInvalidType().