00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00010 
00011 #define sw_cbl_codetree_typecomp_h
00012 
00013 namespace cbl {
00014 namespace codetree {
00015 
00016 namespace def {
00017     class TDef;
00018 }
00019 
00020 namespace expr {
00021     class TExpression;
00022 }
00023 
00029 class ICompatibilityChecker {
00030 public:
00032     virtual bool isCompatible(const def::TDef *, const def::TDef *) = 0;
00033 
00035     virtual bool isCompatible(const expr::TExpression *, const expr::TExpression *) = 0;
00036 
00038     virtual bool isCompatible(const expr::TExpression *, const def::TDef *) = 0;
00039 };
00040 
00041 } 
00042 } 
00043 
00044 #endif