// file: $isip/class/asr/Identifier/ident_00.cc
// version: $Id: ident_00.cc 8571 2002-08-13 21:28:35Z alphonso $
//

// isip include files
//
#include "Identifier.h"

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the constructor for the Identifier class.
//
Identifier::Identifier() {

  // initialize member data
  //
  curr_d = 1;

  // set the allocation modes of the hash tables
  //
  anchors_d.setAllocationMode(DstrBase::USER);
  annotations_d.setAllocationMode(DstrBase::USER);  
}

// method: default constructor
//
// arguments: none
//
// return: none
//
// this is the constructor for the Identifier class.
//
Identifier::Identifier(String& id_a, String& type_a) {

  // assign member data
  //
  namespace_d.assign(id_a);
  type_d.assign(type_a);
  curr_d = 1;

  // set the allocation modes of the hash tables
  //
  anchors_d.setAllocationMode(DstrBase::USER);
  annotations_d.setAllocationMode(DstrBase::USER);  
}

//-----------------------------------------------------------------------------
//
// we define non-integral constants in the default constructor
//
//-----------------------------------------------------------------------------

// constants: required constants such as the class name
//
const String Identifier::CLASS_NAME(L"Identifier");
const String Identifier::DEF_PARAM(L"");

// static instantiations: debug level
//
Integral::DEBUG Identifier::debug_level_d = Integral::NONE;

// static instantiations: the memory manager
//
MemoryManager Identifier::mgr_d(sizeof(Identifier));
