PsiJetFileStubImpl[package=]
  PACKAGE_DIRECTIVE
  IMPORT_LIST
    IMPORT_DIRECTIVE[importedFqName=kotlin.contracts, isAllUnder=true, isValid=true]
      DOT_QUALIFIED_EXPRESSION
        REFERENCE_EXPRESSION[referencedName=kotlin]
        REFERENCE_EXPRESSION[referencedName=contracts]
  CLASS[classId=/A, fqName=A, isClsStubCompiledToJvmDefaultImplementation=false, isEnumEntry=false, isInterface=true, isLocal=false, isTopLevel=true, name=A, superNames=[]]
  FUN[fqName=foo, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=false, name=foo]
    TYPE_REFERENCE
      USER_TYPE
        REFERENCE_EXPRESSION[referencedName=A]
    VALUE_PARAMETER_LIST
  FUN[fqName=myRequireNotNull, hasBody=true, hasNoExpressionBody=true, hasTypeParameterListBeforeFunctionName=false, isExtension=true, isTopLevel=true, mayHaveContract=true, name=myRequireNotNull]
    MODIFIER_LIST[]
      ANNOTATION_ENTRY[hasValueArguments=true, shortName=OptIn]
        CONSTRUCTOR_CALLEE
          TYPE_REFERENCE
            USER_TYPE
              REFERENCE_EXPRESSION[referencedName=OptIn]
        VALUE_ARGUMENT_LIST
          VALUE_ARGUMENT[isSpread=false]
            CLASS_LITERAL_EXPRESSION
              REFERENCE_EXPRESSION[referencedName=ExperimentalContracts]
    TYPE_REFERENCE
      NULLABLE_TYPE
        USER_TYPE
          REFERENCE_EXPRESSION[referencedName=Any]
    VALUE_PARAMETER_LIST
