code: static Node getObjectLitKeyNode(Node key) {
      switch (key.getToken()) {
        case STRING_KEY:
        case GETTER_DEF:
        case SETTER_DEF:
        case MEMBER_FUNCTION_DEF:
          return key;
        case COMPUTED_PROP:
          return key.getFirstChild().isString() ? key.getFirstChild() : null;
        default:
          break;
      }
      throw new IllegalStateException("Unexpected node type: " + key);
    }
docs: Get the Node that defines the name of an object literal key.
  
  @param key A node