Ignore:
Timestamp:
Jan 18, 2023, 12:14:42 PM (19 months ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
ADT, ast-experimental, master
Children:
378de69, a0d1f1c
Parents:
fed6a0f
Message:

Header Clean-Up: Created new headers for new AST typeops and moved declarations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/typeops.h

    rfed6a0f r5bf3976  
    1010// Created On       : Sun May 17 07:28:22 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Tue Oct  1 09:45:00 2019
    13 // Update Count     : 6
     12// Last Modified On : Wed Jan 18 11:54:00 2023
     13// Update Count     : 7
    1414//
    1515
     
    6060                }
    6161        }
    62 
    63         // in AdjustExprType.cc
    64         /// Replaces array types with the equivalent pointer, and function types with a pointer-to-function
    65         void adjustExprType( Type *& type, const TypeEnvironment & env, const SymTab::Indexer & indexer );
    66 
    67         /// Replaces array types with the equivalent pointer, and function types with a pointer-to-function using empty TypeEnvironment and Indexer
    68         void adjustExprType( Type *& type );
    69 
    70         template< typename ForwardIterator >
    71         void adjustExprTypeList( ForwardIterator begin, ForwardIterator end, const TypeEnvironment & env, const SymTab::Indexer & indexer ) {
    72                 while ( begin != end ) {
    73                         adjustExprType( *begin++, env, indexer );
    74                 } // while
    75         }
    76 
    77         /// Replaces array types with equivalent pointer, and function types with a pointer-to-function
    78         const ast::Type * adjustExprType(
    79                 const ast::Type * type, const ast::TypeEnvironment & env, const ast::SymbolTable & symtab );
    80 
    81         // in CastCost.cc
    82         Cost castCost( const Type * src, const Type * dest, bool srcIsLvalue,
    83                 const SymTab::Indexer & indexer, const TypeEnvironment & env );
    84         Cost castCost(
    85                 const ast::Type * src, const ast::Type * dst, bool srcIsLvalue,
    86                 const ast::SymbolTable & symtab, const ast::TypeEnvironment & env );
    87 
    88         // in PtrsAssignable.cc
    89         int ptrsAssignable( const Type * src, const Type * dest, const TypeEnvironment & env );
    90         int ptrsAssignable( const ast::Type * src, const ast::Type * dst,
    91                 const ast::TypeEnvironment & env );
    92 
    93         // in PtrsCastable.cc
    94         int ptrsCastable( const Type * src, const Type * dest, const TypeEnvironment & env, const SymTab::Indexer & indexer );
    95         int ptrsCastable(
    96                 const ast::Type * src, const ast::Type * dst, const ast::SymbolTable & symtab,
    97                 const ast::TypeEnvironment & env );
    98 
    99         // in CommonType.cc
    100         Type * commonType( Type * type1, Type * type2, bool widenFirst, bool widenSecond, const SymTab::Indexer & indexer, TypeEnvironment & env, const OpenVarSet & openVars );
    101         ast::ptr< ast::Type > commonType(
    102                 const ast::ptr< ast::Type > & type1, const ast::ptr< ast::Type > & type2,
    103                         ast::TypeEnvironment & env, ast::AssertionSet & need, ast::AssertionSet & have,
    104                         const ast::OpenVarSet & open, WidenMode widen, const ast::SymbolTable & symtab
    105         );
    106 
    107         // in PolyCost.cc
    108         int polyCost( Type * type, const TypeEnvironment & env, const SymTab::Indexer & indexer );
    109         int polyCost(
    110                 const ast::Type * type, const ast::SymbolTable & symtab, const ast::TypeEnvironment & env );
    111 
    112         // in SpecCost.cc
    113         int specCost( Type * type );
    114         int specCost( const ast::Type * type );
    11562
    11663        // in Occurs.cc
     
    171118                }
    172119
    173 
    174120                return new ast::TupleType{ std::move(types) };
    175121        }
Note: See TracChangeset for help on using the changeset viewer.