Eval

 (Available in 00 TS Base(Base) - TS_Base_0_Traverse)

Source

METHOD Eval( uItem AS USUAL, aReUse AS ARRAY, aSelfReference AS ARRAY ) AS LOGIC  ; ...
...PASCAL CLASS TS_Traverse
LOCAL cValType AS STRING
LOCAL lEval AS LOGIC
   lEval:=TRUE
   cValType:=TS_AccessType( USUAL( _CAST, uItem ) )
   DO CASE
   CASE cValType=="A"
      lEval:=SELF:EvalArray( uItem, aReUse, aSelfReference )
   CASE cValType=="B"
      SELF:EvalCodeBlock( uItem )
   CASE cValType=="C"
      SELF:EvalString( uItem )
   CASE cValType=="D"
      SELF:EvalDate( uItem )
   CASE cValType=="L"
      SELF:Logics+=1U
      SELF:EvalLogic( uItem )
   CASE cValType=="N"
      DO CASE
      CASE IsLong( uItem )
         SELF:EvalNumericLong( uItem )
      CASE IsFloat( uItem )
         SELF:EvalNumericFloat( uItem )
      OTHERWISE
         _TS_ModuleInternalErrors( "!(IsLong(uItem) .OR. IsFloat(uItem))", __ENTITY__ ; ...
        ... , __LINE__, ES_ERROR )
         SELF:Errors:=TRUE
      END
   CASE cValType=="O"
      SELF:EvalObject( uItem )
   CASE cValType=="U"
      SELF:EvalNIL( )
   CASE cValType=="#"
      SELF:EvalSymbol( uItem )
   CASE cValType=="-"
      SELF:EvalPointer( uItem )
   CASE SELF:_Profiling
      SELF:_ProfileAddString( "?" )
      SELF:ValTypeError+=1U
   OTHERWISE
      SELF:ValTypeError+=1U
   END
RETURN lEval