source: translator/GenPoly/GenPoly.h @ b1a6d6b

ADTaaron-thesisarm-ehast-experimentalcleanup-dtorsctordeferred_resndemanglerenumforall-pointer-decaygc_noraiijacob/cs343-translationjenkins-sandboxmemorynew-astnew-ast-unique-exprnew-envno_listpersistent-indexerpthread-emulationqualifiedEnumresolv-newstringwith_gc
Last change on this file since b1a6d6b was b1a6d6b, checked in by Rob Schluntz <rschlunt@…>, 9 years ago

removed duplicate adapters, switch to c99 for initializer declarations

  • Property mode set to 100644
File size: 932 bytes
Line 
1/*
2 * This file is part of the Cforall project
3 *
4 * $Id: GenPoly.h,v 1.4 2005/08/29 20:14:13 rcbilson Exp $
5 *
6 */
7
8#ifndef GENPOLY_H
9#define GENPOLY_H
10
11#include <map>
12#include <string>
13#include <iostream>
14#include "SynTree/Declaration.h"
15
16namespace GenPoly {
17
18typedef std::map< std::string, TypeDecl::Kind > TyVarMap;
19
20// considerAllTyVars allows ignoring the contents of the TyVarMap parameter, for the situations where
21// it is important only that a TypeInstType node exists.
22
23bool needsAdapter( FunctionType *adaptee, const TyVarMap &tyVarr );
24bool needsAdapter( FunctionType *adaptee, const TyVarMap &tyVars, bool considerAllTyVars );
25bool isPolyFun( FunctionType *fun, const TyVarMap &tyVars );
26bool isPolyVal( Type *type, const TyVarMap &tyVars );
27bool isPolyVal( Type *type, const TyVarMap &tyVars, bool considerAllTyVars );
28void printTyVarMap( std::ostream &os, const TyVarMap &tyVarMap );
29
30} // namespace GenPoly
31
32#endif
Note: See TracBrowser for help on using the repository browser.