#if !defined(_INLINE)
static char cvsid[] = "@(#)$Id: TokenAdapter.cpp,v 1.3 1999/05/22 13:00:33 philogelos Exp $";
static char debugFileId[] = __FILE__;
#endif
#include "algorithms/parse/TokenAdapter.hpp"
#include "OGuard.hpp"
#include "PGuard.hpp"
#include "Debug.hpp"
TokenAdapter::TokenAdapter()
{}
TokenAdapter::~TokenAdapter()
{}
void TokenAdapter::setCore( Top *aValue )
{
setAt( 1, aValue );
}
Top *TokenAdapter::getCore() const
{
return( getAt( 1 ) );
}
void TokenAdapter::setTag( ParseTag *aTag )
{
setAt( 2, aTag );
}
ParseTag *TokenAdapter::getTag() const
{
return( getAt( 2 ) );
}
boolean TokenAdapter::equals( const Top *anOther ) const
{
TokenAdapter *other;
other = DCAST( anOther, TokenAdapter );
if( other == ( TokenAdapter * ) NULL )
{
return false;
}
OGuard _other( ( Object * ) other, ( Object * ) this );
return( ( other -> getTag() -> equals( getTag() ) ) &&
( other -> getCore() -> equals( getCore() ) ) );
}
Token *TokenAdapter::cloneToken() const
{
TokenAdapter *result;
result = new TokenAdapter();
PGuard _result( result, this );
result -> setCore( getCore() );
result -> setTag( getTag() );
return result;
}
Top *TokenAdapter::clone() const
{
return cloneToken();
}
String TokenAdapter::getString() const
{
return String( "Tag: " ) +
( ( getTag() == null ) ? String::nullLiteral : ( getTag() -> getString() ) ) +
" value: " +
( ( getCore() == null ) ? String::nullLiteral : ( getCore() -> getString() ) );
}
String TokenAdapter::getClassName() const
{
return "TokenAdapter";
}
#if defined(_INLINE)
#include "../src/Debug.ipp"
#endif