IMPLEMENTATION MODULE YaflGDeclarations;

FROM YaflDeclarations IMPORT Declaration;
FROM YaflGCode IMPORT GC;

  CLASS DeclarationCodeGenerator(ObjType IN Declaration, CtxType IN GcContext);
    INHERITS GC(ObjType, CtxType);
    
  END DeclarationCodeGenerator;  
  
------------------------------------------------------------

  CLASS DummyDeclCodeGenerator(CtxType IN GcContext);
    INHERITS DeclarationCodeGenerator(Declaration, CtxType);
    
  END DummyDeclCodeGenerator;
  
------------------------------------------------------------

  CLASS ImportClauseCodeGenerator(CtxType IN GcContext);
    INHERITS DeclarationCodeGenerator(ImportClause, CtxType);
    
  END ImportClauseCodeGenerator;
    
------------------------------------------------------------
  
  CLASS ConstDeclCodeGenerator(CtxType IN GcContext);
    INHERITS DeclarationCodeGenerator(ConstDeclaration, CtxType);
    
  END ConstDeclCodeGenerator;
  
------------------------------------------------------------
  
  CLASS SingleDataItemCodeGenerator(CtxType IN GcContext);
    INHERITS DeclarationCodeGenerator(SingleDataItem, CtxType);
        
  END SingleDataItemCodeGenerator;
  
END YaflGDeclarations;


