// This file is part of the AspectC++ compiler 'ac++'.
// Copyright (C) 1999-2003  The 'ac++' developers (see aspectc.org)
//                                                                
// This program is free software;  you can redistribute it and/or 
// modify it under the terms of the GNU General Public License as 
// published by the Free Software Foundation; either version 2 of 
// the License, or (at your option) any later version.            
//                                                                
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
// GNU General Public License for more details.                   
//                                                                
// You should have received a copy of the GNU General Public      
// License along with this program; if not, write to the Free     
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
// MA  02111-1307  USA                                            

#ifndef __PointCutInfo_h__
#define __PointCutInfo_h__

/* #include "Puma/TN_FunctionInfo.h" */

/* class AspectInfo; */
/* class CpppAst_PointCutDecl; */

/* class PointCutInfo */
/*  { */
/*       TN_FunctionInfo *_function; */
/*       AspectInfo *_aspect; */
/*       CpppAst_PointCutDecl *_def_node; */
      
/*    public: */

/*       PointCutInfo (TN_FunctionInfo *f) : */
/* 	 _function (f), _aspect ((AspectInfo*)0), */
/*        _def_node ((CpppAst_PointCutDecl *)0) {} */
/*       const char *name () { return _function->Name (); } */
/*       TN_FunctionInfo *function () { return _function; } */
/*       void aspect (AspectInfo *ai) { _aspect = ai; } */
/*       AspectInfo *aspect () { return _aspect; } */

/*       bool is_virtual () */
/*        { */
/* 	 return (_function->isVirtual () || */
/* 		 _function->isPureVirtual ());  */
/*        } */
/*       bool is_pure () { return _function->isPureVirtual (); } */

/*       void def_node (CpppAst_PointCutDecl *pcd) { _def_node = pcd; } */
/*       CpppAst_PointCutDecl *def_node () { return _def_node; } */
/*  }; */

#endif // __PointCutInfo_h__
