source: translator/GenPoly/GenPoly.h@ 4bf5298

ADT aaron-thesis arm-eh ast-experimental cleanup-dtors ctor deferred_resn demangler enum forall-pointer-decay gc_noraii jacob/cs343-translation jenkins-sandbox memory new-ast new-ast-unique-expr new-env no_list persistent-indexer pthread-emulation qualifiedEnum resolv-new string with_gc
Last change on this file since 4bf5298 was b1a6d6b, checked in by Rob Schluntz <rschlunt@…>, 11 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.