code: private void copyDeclarations(
        JavascriptClass superClass, JavascriptClass subClass, Node inheritsCall) {
      for (Node staticGetProp : superClass.staticFieldAccess) {
        checkState(staticGetProp.isGetProp());
        String memberName = staticGetProp.getLastChild().getString();
        // We only copy declarations that have corresponding Object.defineProperties
        if (!superClass.definedProperties.contains(memberName)) {
          continue;
        }
        // If the subclass already declares the property no need to redeclare it.
        if (isOverriden(subClass, memberName)) {
          continue;
        }
        Node subclassNameNode = inheritsCall.getSecondChild();
        Node getprop = IR.getprop(subclassNameNode.cloneTree(), IR.string(memberName));
        JSDocInfoBuilder info = JSDocInfoBuilder.maybeCopyFrom(staticGetProp.getJSDocInfo());
        JSTypeExpression unknown = new JSTypeExpression(new Node(Token.QMARK), "<synthetic>");
        info.recordType(unknown); // In case there wasn't a type specified on the base class.
        info.addSuppression("visibility");
        getprop.setJSDocInfo(info.build());
  
        Node declaration = IR.exprResult(getprop);
        declaration.useSourceInfoIfMissingFromForTree(inheritsCall);
        Node parent = inheritsCall.getParent();
        parent.getParent().addChildBefore(declaration, parent);
        compiler.reportChangeToEnclosingScope(parent);
  
        // Copy over field access so that subclasses of this subclass can also make the declarations
        if (!subClass.definedProperties.contains(memberName)) {
          subClass.staticFieldAccess.add(getprop);
          subClass.definedProperties.add(memberName);
        }
      }
    }
docs: When static get/set properties are transpiled, in addition to the Object.defineProperties, they
  are declared with stub GETPROP declarations so that the type checker understands that these
  properties exist on the class.
  When subclassing, we also need to declare these properties on the subclass so that the type
  checker knows they exist.