src/com/google/javascript/jscomp/NodeUtil.java
/**
   * Returns true iff the value associated with the node is a JS string literal, a concatenation
   * thereof or a ternary operator choosing between string literals.
   */
Returns true iff the value associated with the node is a JS string literal, a concatenation
thereof or a ternary operator choosing between string literals.
Returns true iff the value associated with the node is a JS string literal a concatenation thereof or a ternary operator choosing between string literals .
static boolean isSomeCompileTimeConstStringValue(Node node) {
    if (node.isString() || (node.isTemplateLit() && node.hasOneChild())) {
      return true;
    } else if (node.isAdd()) {
      checkState(node.hasTwoChildren(), node);
      Node left = node.getFirstChild();
      Node right = node.getLastChild();
      return isSomeCompileTimeConstStringValue(left) && isSomeCompileTimeConstStringValue(right);
    } else if (node.isHook()) {
      Node left = node.getSecondChild();
      Node right = node.getLastChild();
      return isSomeCompileTimeConstStringValue(left) && isSomeCompileTimeConstStringValue(right);
    }
    return false;
  }
static boolean isSomeCompileTimeConstStringValue ( Node node ) { if ( node . isString ( ) || ( node . isTemplateLit ( ) && node . hasOneChild ( ) ) ) { return true ; } else if ( node . isAdd ( ) ) { checkState ( node . hasTwoChildren ( ) , node ) ; Node left = node . getFirstChild ( ) ; Node right = node . getLastChild ( ) ; return isSomeCompileTimeConstStringValue ( left ) && isSomeCompileTimeConstStringValue ( right ) ; } else if ( node . isHook ( ) ) { Node left = node . getSecondChild ( ) ; Node right = node . getLastChild ( ) ; return isSomeCompileTimeConstStringValue ( left ) && isSomeCompileTimeConstStringValue ( right ) ; } return false ; }
Returns true iff the value associated with the node is a JS string literal, a concatenation
 thereof or a ternary operator choosing between string literals.
Returns true iff the value associated with the node is a JS string literal a concatenation thereof or a ternary operator choosing between string literals .
// TODO(bangert): Support constants, using a Scope argument. See ConstParamCheck // Ternary operator a ? b : c