summaryrefslogblamecommitdiff
path: root/bincompat-forward.whitelist.conf
blob: 411989fd4ba76342fd42e6564e859fe09ce4077e (plain) (tree)
1
2
3
4
5
6
7
8





                             
            
                  






























































































                                                                      
      








                                                                                          
                  


























                                                                                                           








                                                                                                       
      
                  


                                                                 











                                                       




























































                                                                                                       



                                                                                                                           



                                                                        





                                                      
                                                               
                                        











                                                                     
















                                                                
      



















                                                                                               








                                                                                 












                                                                                      




                                                                       




















































                                                                                            








                                                                                                                                                                                       





                                                                                                                   



                                                                      
     

   
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
    },
    {
        matchName="scala.reflect.runtime.JavaMirrors#JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$followStatic"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.runtime.SynchronizedOps.newNestedScope"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.runtime.JavaUniverse"
        problemName=MissingTypesProblem
    },
    {
        matchName="scala.reflect.runtime.JavaUniverse.reporter"
        problemName=MissingMethodProblem
    },
    {
       matchName="scala.reflect.runtime.JavaUniverse$PerRunReporting"
       problemName=MissingClassProblem
    },
    {
       matchName="scala.reflect.runtime.JavaUniverse.currentRun"
       problemName=MissingMethodProblem
    },
    {
       matchName="scala.reflect.runtime.JavaUniverse.PerRunReporting"
       problemName=MissingMethodProblem
    },
    // see SI-5919
    {
        matchName="scala.reflect.api.TypeTags$PredefTypeCreator"
        problemName=MissingTypesProblem
    },
    {
        matchName="scala.reflect.api.TreeCreator"
        problemName=MissingTypesProblem
    },
    {
        matchName="scala.reflect.api.TypeCreator"
        problemName=MissingTypesProblem
    },
    {
        matchName="scala.reflect.api.PredefTypeCreator"
        problemName=MissingClassProblem
    },
    // https://github.com/scala/scala/pull/3848 -- SI-8680
    {
        matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$6"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$5"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$4"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$3"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.collection.immutable.Stream.scala$collection$immutable$Stream$$loop$2"
        problemName=MissingMethodProblem
    },
    // changes needed by ZipArchiveFileLookup (the flat classpath representation)
    {
        matchName="scala.reflect.io.FileZipArchive.allDirs"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.io.FileZipArchive.root"
        problemName=MissingMethodProblem
    },
    // introduced the harmless method (instead of the repeated code in several places)
    {
        matchName="scala.reflect.runtime.Settings#MultiStringSetting.valueSetByUser"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.runtime.Settings#BooleanSetting.valueSetByUser"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.runtime.Settings#IntSetting.valueSetByUser"
        problemName=MissingMethodProblem
    },
    // SI-9059
    {
        matchName="scala.util.Random.scala$util$Random$$nextAlphaNum$1"
        problemName=MissingMethodProblem
    },
    // Nominally private but in practice JVM-visible methods for reworked scala.util.Sorting
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$default$5"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mBc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mFc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mJc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mCc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mSc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$insertionSort"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mZc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mDc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSort$mIc$sp"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$mergeSorted"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.util.Sorting.scala$util$Sorting$$booleanSort"
        problemName=MissingMethodProblem
    },
    // SI-8362: AbstractPromise extends AtomicReference
    // It's ok to change a package-protected class in an impl package,
    // even though it's not clear why it changed -- bug in generic signature generation?
    // -public class scala.concurrent.impl.Promise$DefaultPromise<T>                          extends scala.concurrent.impl.AbstractPromise implements scala.concurrent.impl.Promise<T>
    // +public class scala.concurrent.impl.Promise$DefaultPromise<T extends java.lang.Object> extends scala.concurrent.impl.AbstractPromise implements scala.concurrent.impl.Promise<T>
    {
        matchName="scala.concurrent.impl.Promise$DefaultPromise"
        problemName=MissingTypesProblem
    },
    // SI-9488: Due to SI-8362 above, toString was silently changed to the AtomicReference toString implementation,
    // This is fixed by SI-9488, and this should be safe since the class in question is stdlib internal.
    {
        matchName="scala.concurrent.impl.Promise.toString"
        problemName=MissingMethodProblem
    },
    {
        matchName="scala.reflect.runtime.Settings.YpartialUnification"
        problemName=MissingMethodProblem
    }
  ]
}