From c818525d23e24d1b4f3478dffc0089254cc9bbff Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 23 Aug 2017 14:34:52 +0200
Subject: [PATCH] allow list all casts in cli

---
 alib2cli/src/command/CastsIntrospectionCommand.h | 4 +++-
 alib2cli/src/parser/Parser.cpp                   | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/alib2cli/src/command/CastsIntrospectionCommand.h b/alib2cli/src/command/CastsIntrospectionCommand.h
index bae9ff05ce..217925218d 100644
--- a/alib2cli/src/command/CastsIntrospectionCommand.h
+++ b/alib2cli/src/command/CastsIntrospectionCommand.h
@@ -26,7 +26,9 @@ public:
 	}
 
 	virtual Command::Result run ( Environment & environment ) const override {
-		std::string param = m_param->eval ( environment );
+		std::string param;
+		if ( m_param != nullptr )
+			param = m_param->eval ( environment );
 
 		if ( m_from )
 			printTypes ( abstraction::Registry::listCastsFrom ( param ) );
diff --git a/alib2cli/src/parser/Parser.cpp b/alib2cli/src/parser/Parser.cpp
index d9de2ba5d9..bec2d8c6d7 100644
--- a/alib2cli/src/parser/Parser.cpp
+++ b/alib2cli/src/parser/Parser.cpp
@@ -271,7 +271,7 @@ std::unique_ptr < Command > Parser::introspect_command ( ) {
 	} else if ( check_nonreserved_kw ( "casts" ) ) {
 		match_nonreserved_kw ( "casts" );
 		std::pair < bool, bool > from_to = introspect_cast_from_to ( );
-		std::unique_ptr < cli::Arg > param = arg ( );
+		std::unique_ptr < cli::Arg > param = optional_arg ( );
 		match ( cli::Lexer::TokenType::END );
 		return std::make_unique < CastsIntrospectionCommand > ( std::move ( param ), from_to.first, from_to.second );
 	} else {
-- 
GitLab