Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Unify.h

    ree574a2 rd286cf68  
    1818#include <list>                   // for list
    1919
    20 #include "AST/Node.hpp"             // for ptr
    21 #include "AST/TypeEnvironment.hpp"  // for TypeEnvironment, AssertionSet, OpenVarSet
    2220#include "Common/utility.h"       // for deleteAll
    2321#include "SynTree/Declaration.h"  // for TypeDecl, TypeDecl::Data
    2422#include "TypeEnvironment.h"      // for AssertionSet, OpenVarSet
    25 #include "WidenMode.h"              // for WidenMode
     23#include "WidenMode.h"            // for WidenMode
    2624
    2725class Type;
    2826class TypeInstType;
    2927namespace SymTab {
    30         class Indexer;
    31 }
    32 
    33 namespace ast {
    34         class SymbolTable;
    35         class Type;
    36 }
     28class Indexer;
     29}  // namespace SymTab
    3730
    3831namespace ResolvExpr {
     
    4033        bool unify( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer, Type *&commonType );
    4134        bool unifyExact( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, OpenVarSet &openVars, const SymTab::Indexer &indexer );
    42         bool unifyInexact( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widen, const SymTab::Indexer &indexer, Type *&common );
     35        bool unifyInexact( Type *type1, Type *type2, TypeEnvironment &env, AssertionSet &needAssertions, AssertionSet &haveAssertions, const OpenVarSet &openVars, WidenMode widenMode, const SymTab::Indexer &indexer, Type *&common );
    4336
    4437        template< typename Iterator1, typename Iterator2 >
     
    6962        }
    7063
    71         bool unify(
    72                 const ast::ptr<ast::Type> & type1, const ast::ptr<ast::Type> & type2,
    73                 ast::TypeEnvironment & env, ast::AssertionSet & need, ast::AssertionSet & have,
    74                 ast::OpenVarSet & open, const ast::SymbolTable & symtab, ast::ptr<ast::Type> & common );
    75 
    76         bool unifyExact(
    77                 const ast::Type * type1, const ast::Type * type2, ast::TypeEnvironment & env,
    78                 ast::AssertionSet & need, ast::AssertionSet & have, const ast::OpenVarSet & open,
    79                 WidenMode widen, const ast::SymbolTable & symtab );
    80 
    81         bool unifyInexact(
    82                 const ast::ptr<ast::Type> & type1, const ast::ptr<ast::Type> & type2,
    83                 ast::TypeEnvironment & env, ast::AssertionSet & need, ast::AssertionSet & have,
    84                 const ast::OpenVarSet & open, WidenMode widen, const ast::SymbolTable & symtab,
    85                 ast::ptr<ast::Type> & common );
    86 
    8764} // namespace ResolvExpr
    8865
Note: See TracChangeset for help on using the changeset viewer.