private boolean isRemovableValue ( Node n ) { switch ( n . getToken ( ) ) { case TEMPLATELIT : case ARRAYLIT : for ( Node child = n . getFirstChild ( ) ; child != null ; child = child . getNext ( ) ) { if ( ( ! child . isEmpty ( ) ) && ! isRemovableValue ( child ) ) { return false ; } } return true ; case REGEXP : case STRING : case NUMBER : case NULL : case TRUE : case FALSE : case TEMPLATELIT_STRING : return true ; case TEMPLATELIT_SUB : case CAST : case NOT : case VOID : case NEG : return isRemovableValue ( n . getFirstChild ( ) ) ; default : return false ; } }
So we don t need to update the graph .