1. -- 
  2. -- Copyright (c) 2012 Kevin Wellwood 
  3. -- All rights reserved. 
  4. -- 
  5. -- This source code is distributed under the Modified BSD License. For terms and 
  6. -- conditions, see license.txt. 
  7. -- 
  8.  
  9. package Tools.Pointers is 
  10.  
  11.     type Pointer is new Tool with private; 
  12.  
  13.     function Create_Pointer return A_Tool; 
  14.     pragma Postcondition( Create_Pointer'Result /= null ); 
  15.  
  16. private 
  17.  
  18.     type Pointer is new Tool with null record; 
  19.  
  20.     procedure Apply( this : access Pointer; context : Tool_Context ); 
  21.  
  22.     function Get_Type( this : access Pointer ) return Tool_Type; 
  23.  
  24. end Tools.Pointers;