Ignore:
Timestamp:
May 18, 2015, 11:45:33 PM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
01aeade
Parents:
0dd3a2f
Message:

licencing: fourth groups of files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • translator/ArgTweak/FunctionFixer.h

    r0dd3a2f r51587aa  
    1 #ifndef _DEFS_FUNCTION_FIXER_H_
    2 #define _DEFS_FUNCTION_FIXER_H_
     1//
     2// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
     3//
     4// The contents of this file are covered under the licence agreement in the
     5// file "LICENCE" distributed with Cforall.
     6//
     7// FunctionFixer.h --
     8//
     9// Author           : Richard C. Bilson
     10// Created On       : Mon May 18 07:44:20 2015
     11// Last Modified By : Peter A. Buhr
     12// Last Modified On : Mon May 18 23:31:58 2015
     13// Update Count     : 3
     14//
     15
     16#ifndef _FUNCTION_FIXER_H_
     17#define _FUNCTION_FIXER_H_
    318
    419#include "SynTree/Mutator.h"
     
    823
    924namespace ArgTweak {
    10   class FunctionFixer : public Mutator
    11   {
    12     typedef Mutator Parent;
     25        class FunctionFixer : public Mutator {
     26                typedef Mutator Parent;
     27          public:
     28                FunctionFixer(SymTab::Indexer *ind = 0);
     29                ~FunctionFixer();
    1330
    14   public:
    15     FunctionFixer(SymTab::Indexer *ind = 0);
    16     ~FunctionFixer();
     31                virtual DeclarationWithType *mutate( FunctionDecl *functionDecl );
     32                virtual Expression *mutate( UntypedExpr *untypedExpr ) throw ( SemanticError );
     33          private:
     34                class Matcher {
     35                        typedef std::string key;
     36                        typedef DeclarationWithType * pattern_type;
     37                        typedef Expression * permutation_type;
     38                  public:
     39                        static key null_key;
     40                        static permutation_type null_value;
    1741
    18     virtual DeclarationWithType *mutate( FunctionDecl *functionDecl );
    19     virtual Expression *mutate( UntypedExpr *untypedExpr ) throw ( SemanticError );
     42                        std::string extract_key( DeclarationWithType * );
     43                        std::string extract_key( Expression * );
    2044
    21   private:
    22     class Matcher {
    23       typedef std::string key;
    24       typedef DeclarationWithType * pattern_type;
    25       typedef Expression * permutation_type;
    26     public:
    27       static key null_key;
    28       static permutation_type null_value;
     45                        bool operator()( DeclarationWithType *, Expression * ) { return true; }
     46                };
    2947
    30       std::string extract_key( DeclarationWithType * );
    31       std::string extract_key( Expression * );
     48                SymTab::Indexer *index;
     49        };
    3250
    33       bool operator()( DeclarationWithType *, Expression * ) { return true; }
    34     };
    35 
    36     SymTab::Indexer *index;
    37   };
    38 
    39   template < class L1, class L2, class Predicate > bool align( L1 &pattern, L2 &possible_permutation, Predicate pred );
    40 
     51        template < class L1, class L2, class Predicate > bool align( L1 &pattern, L2 &possible_permutation, Predicate pred );
    4152} // namespace ArgTweak
    4253
     54#endif // _FUNCTION_FIXER_H_
    4355
    44 #endif // #ifndef _DEFS_FUNCTION_FIXER_H_
    45 
    46 /*
    47   Local Variables:
    48   mode: c++
    49   End:
    50 */
     56// Local Variables: //
     57// tab-width: 4 //
     58// mode: c++ //
     59// compile-command: "make install" //
     60// End: //
Note: See TracChangeset for help on using the changeset viewer.