PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
  CLASS[classId=/IEquality, fqName=IEquality, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=IEquality, superNames=[]]
    MODIFIER_LIST[open]
    CLASS_BODY
      FUN[fqName=IEquality.equals, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=equals]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=other]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=Any]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Boolean]
  CLASS[classId=/IHashable, fqName=IHashable, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=IHashable, superNames=[IEquality]]
    MODIFIER_LIST[open]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IEquality]
    CLASS_BODY
      PROPERTY[fqName=IHashable.hashCode, hasBackingField=null, hasDelegate=false, hasDelegateExpression=false, hasInitializer=false, hasReturnTypeRef=true, isExtension=false, isTopLevel=false, isVar=false, name=hashCode]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Integer]
        PROPERTY_ACCESSOR[hasBody=true, hasNoExpressionBody=false, isGetter=true, mayHaveContract=false]
          VALUE_PARAMETER_LIST
  CLASS[classId=/IMap, fqName=IMap, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=IMap, superNames=[]]
    MODIFIER_LIST[open]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=V]
    CLASS_BODY
      FUN[fqName=IMap.get, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=get]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=key]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=V]
      FUN[fqName=IMap.set, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=set]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=key]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=value]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=V]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=V]
      FUN[fqName=IMap.remove, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=remove]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=key]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=V]
      FUN[fqName=IMap.containsKey, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=containsKey]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=key]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Boolean]
  CLASS[classId=/HashableWrapper, fqName=HashableWrapper, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=HashableWrapper, superNames=[IHashable]]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=HashableWrapper]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=HashableWrapper.obj, hasDefaultValue=false, hasValOrVar=true, isMutable=false, name=obj]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=Any]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IHashable]
  FUN[fqName=hashable, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=false, name=hashable]
    MODIFIER_LIST[]
      ANNOTATION
        ANNOTATION_ENTRY[hasValueArguments=false, shortName=inline]
          CONSTRUCTOR_CALLEE
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=inline]
    TYPE_REFERENCE
      USER_TYPE
        REFERENCE_EXPRESSION[referencedName=Any]
    VALUE_PARAMETER_LIST
    TYPE_REFERENCE
      USER_TYPE
        REFERENCE_EXPRESSION[referencedName=HashableWrapper]
  CLASS[classId=/IHashingStrategy, fqName=IHashingStrategy, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=IHashingStrategy, superNames=[]]
    MODIFIER_LIST[open]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
    CLASS_BODY
      FUN[fqName=IHashingStrategy.equals, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=equals]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Boolean]
      FUN[fqName=IHashingStrategy.hashCode, hasBody=false, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=hashCode]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Integer]
  CLASS[classId=/DefaultHashingStrategy, fqName=DefaultHashingStrategy, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=DefaultHashingStrategy, superNames=[IHashingStrategy]]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=true, isOutVariance=false, name=K]
        MODIFIER_LIST[in]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IHashable]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IHashingStrategy]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=K]
    CLASS_BODY
      FUN[fqName=DefaultHashingStrategy.equals, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=equals]
        MODIFIER_LIST[override]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Boolean]
      FUN[fqName=DefaultHashingStrategy.hashCode, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=hashCode]
        MODIFIER_LIST[override]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Integer]
  CLASS[classId=/JavaObjectHashingStrategy, fqName=JavaObjectHashingStrategy, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=JavaObjectHashingStrategy, superNames=[IHashingStrategy]]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IHashingStrategy]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=K]
    CLASS_BODY
      FUN[fqName=JavaObjectHashingStrategy.equals, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=equals]
        MODIFIER_LIST[override]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Boolean]
      FUN[fqName=JavaObjectHashingStrategy.hashCode, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=hashCode]
        MODIFIER_LIST[override]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=Integer]
  CLASS[classId=/HashMap, fqName=HashMap, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=HashMap, superNames=[IMap]]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=V]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IMap]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=K]
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=V]
    CLASS_BODY
      FUN[fqName=HashMap.hashCode, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=hashCode]
        MODIFIER_LIST[private]
          ANNOTATION
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=inline]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=inline]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
      FUN[fqName=HashMap.equals, hasBody=true, hasNoExpressionBody=false, hasTypeParameterListBeforeFunctionName=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=equals]
        MODIFIER_LIST[private]
          ANNOTATION
            ANNOTATION_ENTRY[hasValueArguments=false, shortName=inline]
              CONSTRUCTOR_CALLEE
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=inline]
        VALUE_PARAMETER_LIST
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
          VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
            TYPE_REFERENCE
              USER_TYPE
                REFERENCE_EXPRESSION[referencedName=K]
  CLASS[classId=/StrategyHashMap, fqName=StrategyHashMap, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=false, isLocal=false, isTopLevel=true, name=StrategyHashMap, superNames=[IMap]]
    TYPE_PARAMETER_LIST
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=K]
      TYPE_PARAMETER[fqName=null, isInVariance=false, isOutVariance=false, name=V]
    PRIMARY_CONSTRUCTOR[fqName=null, hasBody=false, hasNoExpressionBody=true, isDelegatedCallToThis=false, isExplicitDelegationCall=false, isExtension=false, isTopLevel=false, mayHaveContract=false, name=StrategyHashMap]
      VALUE_PARAMETER_LIST
        VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=hashingStrategy]
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=IHashingStrategy]
              TYPE_ARGUMENT_LIST
                TYPE_PROJECTION[projectionKind=NONE]
                  TYPE_REFERENCE
                    USER_TYPE
                      REFERENCE_EXPRESSION[referencedName=K]
    SUPER_TYPE_LIST
      SUPER_TYPE_ENTRY
        TYPE_REFERENCE
          USER_TYPE
            REFERENCE_EXPRESSION[referencedName=IMap]
            TYPE_ARGUMENT_LIST
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=K]
              TYPE_PROJECTION[projectionKind=NONE]
                TYPE_REFERENCE
                  USER_TYPE
                    REFERENCE_EXPRESSION[referencedName=V]
    CLASS_BODY
