KaNamedFunctionSymbol:
  anchorPsi: KtNamedFunction
  annotations: []
  callableId: /foo
  contextParameters: []
  contextReceivers: []
  contractEffects: []
  hasStableParameterNames: true
  isActual: false
  isBuiltinFunctionInvoke: false
  isCompanion: false
  isExpect: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: false
  isOverride: false
  isStatic: false
  isSuspend: false
  isTailRec: false
  location: TOP_LEVEL
  modality: FINAL
  name: foo
  origin: SOURCE
  psi: KtNamedFunction
  realPsi: KtNamedFunction
  receiverParameter: null
  returnType: KaUsualClassType:
    annotations: []
    typeArguments: []
    type: kotlin/Unit
  typeParameters: []
  valueParameters: [
    KaValueParameterSymbol:
      anchorPsi: KtParameter
      annotations: []
      callableId: null
      contextParameters: []
      contextReceivers: []
      hasDeclaredDefaultValue: false
      hasDefaultValue: false
      isActual: false
      isCompanion: false
      isCrossinline: false
      isDelegated: false
      isExpect: false
      isExtension: false
      isExternal: false
      isImplicitLambdaParameter: false
      isNoinline: false
      isVal: true
      isVararg: false
      location: LOCAL
      modality: FINAL
      name: action
      origin: SOURCE
      primaryConstructorProperty: null
      psi: KtParameter
      realPsi: KtParameter
      receiverParameter: null
      returnType: KaFunctionType:
        annotations: []
        typeArguments: [
          KaUsualClassType:
            annotations: []
            typeArguments: []
            type: kotlin/Int
        ]
        type: () -> kotlin/Int
      typeParameters: []
      visibility: PUBLIC
      getContainingFileSymbol: KaFileSymbol(scriptWithClassDeclaration.kts)
      getContainingJvmClassName: null
      getContainingModule: KaScriptModule "Script scriptWithClassDeclaration.kts"
      deprecation: null
      importableFqName: null
  ]
  visibility: PUBLIC
  getContainingFileSymbol: KaFileSymbol(scriptWithClassDeclaration.kts)
  getContainingJvmClassName: null
  canBeOperator: false
  getContainingModule: KaScriptModule "Script scriptWithClassDeclaration.kts"
  deprecation: null
  returnValueStatus: Unspecified
  javaMethodName: foo
  importableFqName: foo

KaKotlinPropertySymbol:
  anchorPsi: KtScriptInitializer
  annotations: []
  backingFieldSymbol: null
  callableId: /$$result
  contextParameters: []
  contextReceivers: []
  getter: KaPropertyGetterSymbol:
    anchorPsi: KtScriptInitializer
    annotations: []
    callableId: null
    contextParameters: []
    contextReceivers: []
    hasStableParameterNames: true
    isActual: false
    isCompanion: false
    isExpect: false
    isExtension: false
    isExternal: false
    isInline: false
    isNotDefault: false
    isOverride: false
    location: PROPERTY
    modality: FINAL
    origin: PLUGIN
    psi: null
    realPsi: null
    receiverParameter: null
    returnType: KaUsualClassType:
      annotations: []
      typeArguments: []
      type: kotlin/Unit
    typeParameters: []
    valueParameters: []
    visibility: PUBLIC
    getContainingFileSymbol: KaFileSymbol(scriptWithClassDeclaration.kts)
    getContainingJvmClassName: null
    getContainingModule: KaScriptModule "Script scriptWithClassDeclaration.kts"
    deprecation: null
    javaMethodName: get$$result
    importableFqName: null
  hasBackingField: true
  hasGetter: true
  hasSetter: false
  initializer: KaNonConstantInitializerValue(foo { ...)
  isActual: false
  isCompanion: false
  isConst: false
  isDelegated: false
  isExpect: false
  isExtension: false
  isExternal: false
  isLateInit: false
  isOverride: false
  isStatic: false
  isVal: true
  location: TOP_LEVEL
  modality: FINAL
  name: $$result
  origin: PLUGIN
  primaryConstructorParameter: null
  psi: KtScriptInitializer
  realPsi: null
  receiverParameter: null
  returnType: KaUsualClassType:
    annotations: []
    typeArguments: []
    type: kotlin/Unit
  setter: null
  typeParameters: []
  visibility: PUBLIC
  getContainingFileSymbol: KaFileSymbol(scriptWithClassDeclaration.kts)
  getContainingJvmClassName: null
  getContainingModule: KaScriptModule "Script scriptWithClassDeclaration.kts"
  deprecation: null
  isInline: false
  importableFqName: $$result
