Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/ApplicationExpr.cc

    re3e16bc rea6332d  
    1414//
    1515
    16 #include <cassert>               // for strict_dynamic_cast, assert
     16#include <cassert>               // for safe_dynamic_cast, assert
    1717#include <list>                  // for list
    1818#include <map>                   // for _Rb_tree_const_iterator, map, map<>:...
     
    4949}
    5050
    51 ApplicationExpr::ApplicationExpr( Expression *funcExpr, const std::list<Expression *> & args ) : function( funcExpr ), args( args ) {
    52         PointerType *pointer = strict_dynamic_cast< PointerType* >( funcExpr->get_result() );
    53         FunctionType *function = strict_dynamic_cast< FunctionType* >( pointer->get_base() );
     51ApplicationExpr::ApplicationExpr( Expression *funcExpr, const std::list< Expression * > & argList ) : function( funcExpr ), args( argList ) {
     52        PointerType *pointer = safe_dynamic_cast< PointerType* >( funcExpr->get_result() );
     53        FunctionType *function = safe_dynamic_cast< FunctionType* >( pointer->get_base() );
    5454
    5555        set_result( ResolvExpr::extractResultType( function ) );
Note: See TracChangeset for help on using the changeset viewer.