Repository: facebook/react
Pull request: Revert "feat: honor displayName of context types"

Reverts facebook/react#18035. This breaks an internal FB test where we try and set the `displayName` on the context consumer. Otherwise we get this runtime exception:

`TypeError: Cannot set property displayName of #<Object> which has only a getter`

Changed files:
filename: packages/react/src/ReactContext.js
patch: @@ -120,11 +120,6 @@ export function createContext<T>(
           return context.Consumer;
         },
       },
-      displayName: {
-        get() {
-          return context.displayName;
-        },
-      },
     });
     // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty
     context.Consumer = Consumer;

filename: packages/react/src/__tests__/ReactContextValidator-test.js
patch: @@ -18,7 +18,6 @@
 let PropTypes;
 let React;
 let ReactDOM;
-let ReactDOMServer;
 let ReactTestUtils;
 
 describe('ReactContextValidator', () => {
@@ -28,7 +27,6 @@ describe('ReactContextValidator', () => {
     PropTypes = require('prop-types');
     React = require('react');
     ReactDOM = require('react-dom');
-    ReactDOMServer = require('react-dom/server');
     ReactTestUtils = require('react-dom/test-utils');
   });
 
@@ -673,26 +671,4 @@ describe('ReactContextValidator', () => {
       'Warning: ComponentB: Function components do not support contextType.',
     );
   });
-
-  it('should honor a displayName if set on the context type', () => {
-    const Context = React.createContext(null);
-    Context.displayName = 'MyContextType';
-    function Validator() {
-      return null;
-    }
-    Validator.propTypes = {dontPassToSeeErrorStack: PropTypes.bool.isRequired};
-
-    expect(() => {
-      ReactDOMServer.renderToStaticMarkup(
-        <Context.Provider>
-          <Context.Consumer>{() => <Validator />}</Context.Consumer>
-        </Context.Provider>,
-      );
-    }).toErrorDev(
-      'Warning: Failed prop type: The prop `dontPassToSeeErrorStack` is marked as required in `Validator`, but its value is `undefined`.\n' +
-        '    in Validator (at **)\n' +
-        '    in MyContextType.Consumer (at **)\n' +
-        '    in MyContextType.Provider (at **)',
-    );
-  });
 });

filename: packages/shared/getComponentName.js
patch: @@ -24,7 +24,6 @@ import {
   REACT_BLOCK_TYPE,
 } from 'shared/ReactSymbols';
 import {refineResolvedLazyComponent} from 'shared/ReactLazyComponent';
-import type {ReactContext, ReactProviderType} from 'shared/ReactTypes';
 
 function getWrappedName(
   outerType: mixed,
@@ -38,10 +37,6 @@ function getWrappedName(
   );
 }
 
-function getContextName(type: ReactContext<any>) {
-  return type.displayName || 'Context';
-}
-
 function getComponentName(type: mixed): string | null {
   if (type == null) {
     // Host root, text node or just invalid type.
@@ -78,11 +73,9 @@ function getComponentName(type: mixed): string | null {
   if (typeof type === 'object') {
     switch (type.$$typeof) {
       case REACT_CONTEXT_TYPE:
-        const context: ReactContext<any> = (type: any);
-        return getContextName(context) + '.Consumer';
+        return 'Context.Consumer';
       case REACT_PROVIDER_TYPE:
-        const provider: ReactProviderType<any> = (type: any);
-        return getContextName(provider._context) + '.Provider';
+        return 'Context.Provider';
       case REACT_FORWARD_REF_TYPE:
         return getWrappedName(type, type.render, 'ForwardRef');
       case REACT_MEMO_TYPE: