|
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().
1.8.17