Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/GenPoly/GenPoly.h

    rffad73a rbdf1954  
    2020#include <string>
    2121#include <iostream>
    22 
    2322#include "SynTree/Declaration.h"
    24 #include "SynTree/TypeSubstitution.h"
    2523
    2624namespace GenPoly {
    2725        typedef std::map< std::string, TypeDecl::Kind > TyVarMap;
    2826
    29         /// A function needs an adapter if it returns a polymorphic value or if any of its
    30         /// parameters have polymorphic type
    3127        bool needsAdapter( FunctionType *adaptee, const TyVarMap &tyVarr );
    32 
    33         /// true iff function has polymorphic return type
    3428        bool isPolyRet( FunctionType *function, std::string &name, const TyVarMap &otherTyVars );
    3529        bool isPolyRet( FunctionType *function, std::string &name );
    3630        bool isPolyRet( FunctionType *function, const TyVarMap &otherTyVars );
     31//      bool isPolyFun( FunctionType *fun, const TyVarMap &tyVars );
     32        bool isPolyVal( Type *type, const TyVarMap &tyVars );
    3733
    38         /// returns polymorphic type if is polymorphic type, NULL otherwise; will look up substitution in env if provided
    39         Type *isPolyType( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env = 0 );
    40 
    41         /// returns polymorphic type if is pointer to polymorphic type, NULL otherwise; will look up substitution in env if provided
    42         Type *isPolyPtr( Type *type, const TyVarMap &tyVars, const TypeSubstitution *env = 0 );
    43 
    44         /// Prints type variable map
     34  // true if type variable or any number of pointers to type variable
     35  bool isPolyObj( Type *type, const TyVarMap &tyVars );
    4536        void printTyVarMap( std::ostream &os, const TyVarMap &tyVarMap );
    46 
    47         /// Gets the name of the sizeof parameter for the type
    48         std::string sizeofName( Type *ty );
    49 
    50         /// Gets the name of the alignof parameter for the type
    51         std::string alignofName( Type *ty );
    5237} // namespace GenPoly
    5338
Note: See TracChangeset for help on using the changeset viewer.