Skip to content
Snippets Groups Projects
Commit 0b5c3462 authored by Jan Trávníček's avatar Jan Trávníček
Browse files

cli: fix presentation of return type of algorithm overloads

parent 1d6807d9
No related branches found
No related tags found
1 merge request!226Merge jt
...@@ -9,13 +9,4 @@ AlgorithmBaseInfo::AlgorithmBaseInfo ( AlgorithmCategories::AlgorithmCategory ca ...@@ -9,13 +9,4 @@ AlgorithmBaseInfo::AlgorithmBaseInfo ( AlgorithmCategories::AlgorithmCategory ca
AlgorithmFullInfo::AlgorithmFullInfo ( AlgorithmBaseInfo baseInfo, ext::vector < std::string > paramNames, ext::pair < core::type_details, abstraction::TypeQualifiers::TypeQualifierSet > result ) : AlgorithmBaseInfo ( std::move ( baseInfo ) ), m_paramNames ( std::move ( paramNames ) ), m_result ( std::move ( result ) ) { AlgorithmFullInfo::AlgorithmFullInfo ( AlgorithmBaseInfo baseInfo, ext::vector < std::string > paramNames, ext::pair < core::type_details, abstraction::TypeQualifiers::TypeQualifierSet > result ) : AlgorithmBaseInfo ( std::move ( baseInfo ) ), m_paramNames ( std::move ( paramNames ) ), m_result ( std::move ( result ) ) {
} }
   
ext::pair < core::type_details, abstraction::TypeQualifiers::TypeQualifierSet > AlgorithmFullInfo::getNormalizedResult ( ) const {
if ( ! abstraction::Registry::hasNormalize ( m_result.first ) )
return m_result;
std::unique_ptr < abstraction::OperationAbstraction > normalized = abstraction::Registry::getNormalizeAbstraction ( m_result.first );
return ext::make_pair ( normalized->getReturnType ( ), normalized->getReturnTypeQualifiers ( ) );
}
} /* namespace abstraction */ } /* namespace abstraction */
...@@ -99,8 +99,6 @@ public: ...@@ -99,8 +99,6 @@ public:
return m_result; return m_result;
} }
   
ext::pair < core::type_details, abstraction::TypeQualifiers::TypeQualifierSet > getNormalizedResult ( ) const;
template < class ObjectType, class ReturnType, class ... ParamTypes > template < class ObjectType, class ReturnType, class ... ParamTypes >
static AlgorithmFullInfo methodEntryInfo ( std::array < std::string, sizeof ... ( ParamTypes ) > paramNames ) { static AlgorithmFullInfo methodEntryInfo ( std::array < std::string, sizeof ... ( ParamTypes ) > paramNames ) {
ext::vector < std::string > parameterNames; ext::vector < std::string > parameterNames;
......
...@@ -22,7 +22,7 @@ template < class Operators > ...@@ -22,7 +22,7 @@ template < class Operators >
void OperatorsIntrospectionCommand::printOperators ( const ext::list < ext::pair < Operators, abstraction::AlgorithmFullInfo > > & overloads ) { void OperatorsIntrospectionCommand::printOperators ( const ext::list < ext::pair < Operators, abstraction::AlgorithmFullInfo > > & overloads ) {
for ( const ext::pair < Operators, abstraction::AlgorithmFullInfo > & overload : overloads ) { for ( const ext::pair < Operators, abstraction::AlgorithmFullInfo > & overload : overloads ) {
   
typePrint ( std::get < 1 > ( overload ).getNormalizedResult ( ), common::Streams::out ); typePrint ( std::get < 1 > ( overload ).getResult ( ), common::Streams::out );
   
common::Streams::out << " operator "; common::Streams::out << " operator ";
common::Streams::out << abstraction::Operators::toString ( std::get < 0 > ( overload ) ); common::Streams::out << abstraction::Operators::toString ( std::get < 0 > ( overload ) );
......
...@@ -36,7 +36,7 @@ CommandResult OverloadsIntrospectionCommand::run ( Environment & environment ) c ...@@ -36,7 +36,7 @@ CommandResult OverloadsIntrospectionCommand::run ( Environment & environment ) c
if ( first ) if ( first )
common::Streams::out << std::endl << "-------------------------------------------------------------------------------------" << std::endl; common::Streams::out << std::endl << "-------------------------------------------------------------------------------------" << std::endl;
   
typePrint ( std::get < 0 > ( overload ).getNormalizedResult ( ), common::Streams::out ); typePrint ( std::get < 0 > ( overload ).getResult ( ), common::Streams::out );
   
common::Streams::out << " ("; common::Streams::out << " (";
for ( size_t i = 0; i < std::get < 0 > ( overload ).getParams ( ).size ( ); ++ i ) { for ( size_t i = 0; i < std::get < 0 > ( overload ).getParams ( ).size ( ); ++ i ) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment