filter {
  packages = [
    "scala.reflect.internal"
    # "scala.concurrent.impl"
    # "scala.reflect.runtime"
  ]
  problems=[
    // see SI-8372
    {
        matchName="scala.collection.mutable.ArrayOps#ofChar.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofChar.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofByte.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofByte.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofShort.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofShort.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofLong.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofLong.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofInt.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofInt.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps.unzip"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps.unzip3"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps.unzip"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps.unzip3"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofFloat.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofFloat.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofBoolean.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofBoolean.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofRef.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofRef.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofUnit.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofUnit.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofDouble.unzip"
        problemName=IncompatibleMethTypeProblem
    },
    {
        matchName="scala.collection.mutable.ArrayOps#ofDouble.unzip3"
        problemName=IncompatibleMethTypeProblem
    },
    // see SI-8200
    {
        matchName="scala.reflect.api.Liftables#Liftable.liftTree"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.StandardLiftables#StandardLiftableInstances.liftTree"
        problemName=MissingMethodProblem
    },
    // see SI-8331
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticSelectType"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticAppliedType"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticSelectTerm"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticSelectTermExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi#SyntacticTypeAppliedExtractor.unapply"
        problemName=IncompatibleResultTypeProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi#SyntacticTypeAppliedExtractor.unapply"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticSelectTypeExtractor"
        problemName=MissingClassProblem
    },
    // see SI-8366
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticPartialFunctionExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticPartialFunction"
        problemName=MissingMethodProblem
    },
    // see SI-8428
    {
        matchName="scala.collection.Iterator#ConcatIterator.this"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Mirror.symbolOf"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Mirror.typeOf"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Mirror.weakTypeOf"
        problemName=MissingMethodProblem
    },
    // see SI-8388
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticSingletonType"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticTermIdent"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticTypeIdent"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticCompoundType"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticAnnotatedType"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticTypeProjection"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticExistentialType"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals#ReificationSupportApi.SyntacticIdent"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticAnnotatedTypeExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticTermIdentExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacitcSingletonTypeExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticTypeIdentExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticCompoundTypeExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticExistentialTypeExtractor"
        problemName=MissingClassProblem
    },
    {
        matchName="scala.reflect.api.Internals$ReificationSupportApi$SyntacticTypeProjectionExtractor"
        problemName=MissingClassProblem
    }
  ]
}
