Traverse

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

Source

METHOD Traverse( uSource AS USUAL ) AS LOGIC PASCAL CLASS TS_Traverse
// IF SELF:_Clear
   SELF:Clear( )
// END
// SELF:_Clear:=TRUE
   SELF:_ProfilePtr:=MemAlloc( SELF:_ProfileAllocStepSize ; ...
  ... +1U )
   IF LOGIC( _CAST, SELF:_ProfilePtr )
      SELF:_ProfileMax:=SELF:_ProfileAllocStepSize
      SELF:Source:=UsualVal( uSource )
      IF IsArray( SELF:Source ) .AND. LOGIC( _CAST, SELF:Source  ; ...
     ... )
         SELF:_ProfileAddString( "A" )
         IF TS_TraverseArray( SELF:Source, SELF )==0xFFFFFFFFU
            _TS_ModuleInternalErrors( "TS_TraverseArray(SELF:Source,SELF)==0xFFFFFFFFU" ; ...
           ... , __ENTITY__, __LINE__, ES_ERROR )
            SELF:Errors:=TRUE
         END
      ELSE
         SELF:_ProfileAddString( "U" )
         SELF:Eval( SELF:Source, NULL_ARRAY ; ...
        ... , NULL_ARRAY )
      END
      SELF:_ProfileOut:=Psz2String( SELF:_ProfilePtr  ; ...
     ... )
      IF LOGIC( _CAST, MemFree( SELF:_ProfilePtr ) )
         _TS_ModuleInternalErrors( "LOGIC(_CAST,MemFree(SELF:_ProfilePtr))", __ENTITY__ ; ...
        ... , __LINE__, ES_WARNING )
      END
      SELF:_ProfilePtr:=NULL_PTR
      SELF:_ProfileMax:=0U
      SELF:_ProfileNdx:=0U
   ELSE
      _TS_ModuleInternalErrors( "(MemAlloc(SELF:_ProfileMax+1U))==NULL_PTR", __ENTITY__ ; ...
     ... , __LINE__, ES_CATASTROPHIC )
      SELF:Errors:=TRUE
   END
RETURN SELF:Errors