goog.module('innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper$impl');

const Outer = goog.require('innerclassinitorder.InnerClassInitOrder.Outer$impl');
const $Util = goog.require('nativebootstrap.Util$impl');

let OuterIsNotSuper = goog.forwardDeclare('innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper$impl');
let $1 = goog.forwardDeclare('innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.$1$impl');

class OuterIsSuper extends Outer {
 /** @protected @nodts */
 constructor() {
  super();
  /**@type {!Outer} @nodts*/
  this.$outer_this__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper;
 }
 /** @nodts @return {!OuterIsSuper} */
 static $create__innerclassinitorder_InnerClassInitOrder_Outer__int(/** !Outer */ $outer_this, /** number */ i) {
  OuterIsSuper.$clinit();
  let $instance = new OuterIsSuper();
  $instance.$ctor__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__innerclassinitorder_InnerClassInitOrder_Outer__int__void($outer_this, i);
  return $instance;
 }
 /** @nodts */
 $ctor__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__innerclassinitorder_InnerClassInitOrder_Outer__int__void(/** !Outer */ $outer_this, /** number */ i) {
  this.$outer_this__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper = $outer_this;
  this.$ctor__innerclassinitorder_InnerClassInitOrder_Outer__int__void(i);
 }
 /** @override @nodts @return {number} */
 m_checkDispatch__int() {
  return 2;
 }
 /** @nodts @return {number} */
 m_checkDispatchFromSub1__int() {
  return super.m_checkDispatch__int();
 }
 /** @nodts @return {number} */
 m_checkDispatchFromSub2__int() {
  return $1.$create__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsSuper__int(this, 1).m_go__int();
 }
 /** @nodts @return {OuterIsNotSuper} */
 m_unqualifiedAlloc__innerclassinitorder_InnerClassInitOrder_Outer_OuterIsNotSuper() {
  return OuterIsNotSuper.$create__innerclassinitorder_InnerClassInitOrder_Outer(this);
 }
 /** @nodts */
 static $clinit() {
  OuterIsSuper.$clinit = () =>{};
  OuterIsSuper.$loadModules();
  Outer.$clinit();
 }
 /** @nodts @return {boolean} */
 static $isInstance(/** ? */ instance) {
  return instance instanceof OuterIsSuper;
 }
 
 /** @nodts */
 static $loadModules() {
  OuterIsNotSuper = goog.module.get('innerclassinitorder.InnerClassInitOrder.Outer.OuterIsNotSuper$impl');
  $1 = goog.module.get('innerclassinitorder.InnerClassInitOrder.Outer.OuterIsSuper.$1$impl');
 }
}
$Util.$setClassMetadata(OuterIsSuper, 'innerclassinitorder.InnerClassInitOrder$Outer$OuterIsSuper');

exports = OuterIsSuper;

//# sourceMappingURL=InnerClassInitOrder$Outer$OuterIsSuper.js.map
