private void maybeProcessDomTagName ( Node n ) { if ( NodeUtil . isLValue ( n ) ) { return ; } String prefix = "goog$dom$TagName$" ; String tagName ; if ( n . isName ( ) && n . getString ( ) . startsWith ( prefix ) ) { tagName = n . getString ( ) . substring ( prefix . length ( ) ) ; } else if ( n . isGetProp ( ) && ! n . getParent ( ) . isGetProp ( ) && n . getFirstChild ( ) . matchesQualifiedName ( "goog.dom.TagName" ) ) { tagName = n . getSecondChild ( ) . getString ( ) . replaceFirst ( ".*\\$" , "" ) ; // Added by DisambiguateProperties. } else { return ; } Node stringNode = IR . string ( tagName ) . srcref ( n ) ; n . replaceWith ( stringNode ) ; compiler . reportChangeToEnclosingScope ( stringNode ) ; }
Converts the given node to string if it is safe to do so .