boolean attemptClearSymbolIDValues ( ) { boolean sidsRemain = false ; if ( _fieldName != null ) { _fieldId = UNKNOWN_SYMBOL_ID ; } else if ( _fieldId > UNKNOWN_SYMBOL_ID ) { // retaining the field SID, as it couldn't be cleared due to loss of context // TODO - for SID handling consistency; this should attempt resolution first sidsRemain = true ; } if ( _annotations != null ) { for ( int i = 0 ; i < _annotations . length ; i ++ ) { SymbolToken annotation = _annotations [ i ] ; // _annotations may have nulls at the end. if ( annotation == null ) break ; String text = annotation . getText ( ) ; // TODO - for SID handling consistency; this should attempt resolution first, not just drop entry if ( text != null && annotation . getSid ( ) != UNKNOWN_SYMBOL_ID ) { _annotations [ i ] = newSymbolToken ( text , UNKNOWN_SYMBOL_ID ) ; } } } return ! sidsRemain ; }
Sets this value s symbol table to null and erases any SIDs here and recursively .