scala / scala3

The Scala 3 compiler, also known as Dotty.
https://dotty.epfl.ch
Apache License 2.0
5.81k stars 1.05k forks source link

Regression in babylonhealth/lit-fhi v0.14.17 #16341

Closed dwijnand closed 1 year ago

dwijnand commented 1 year ago
[error] java.lang.NullPointerException
[error] dotty.tools.dotc.core.TypeComparer.lub(TypeComparer.scala:2258)
[error] dotty.tools.dotc.core.TypeComparer$.lub(TypeComparer.scala:2954)

warns in scaladoc

Problem parsing usbase/src/main/scala/com/babylonhealth/lit/usbase/model/Observation_focusCode.scala:[0..37..5407], documentation may not be generated.
scala.MatchError: Block(List(ValDef(value$1,TypeTree[AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Some),List(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),Choice),List(OrType(OrType(OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Money)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDateTime),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),LocalTime))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Ratio),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Reference))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ParameterDefinition),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Period)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Signature))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Expression),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Meta)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),DataRequirement),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Timing))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactDetail),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactPoint)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Dosage),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),TriggerDefinition)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object util),UUID))))),OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Coding),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Contributor)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Address),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Quantity))),OrType(OrType(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Array),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Byte))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Annotation),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Attachment))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDate),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object lang),String)))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object math),BigDecimal),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Boolean)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),HumanName),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Int)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Identifier))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Range),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),RelatedArtifact)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),SampledData),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),UsageContext)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),ZonedDateTime))))))))))],Apply(TypeApply(Select(Ident(Some),apply),List(TypeTree[AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),Choice),List(OrType(OrType(OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Money)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDateTime),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),LocalTime))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Ratio),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Reference))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ParameterDefinition),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Period)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Signature))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Expression),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Meta)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),DataRequirement),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Timing))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactDetail),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactPoint)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Dosage),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),TriggerDefinition)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object util),UUID))))),OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Coding),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Contributor)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Address),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Quantity))),OrType(OrType(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Array),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Byte))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Annotation),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Attachment))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDate),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object lang),String)))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object math),BigDecimal),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Boolean)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),HumanName),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Int)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Identifier))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Range),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),RelatedArtifact)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),SampledData),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),UsageContext)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),ZonedDateTime))))))))])),List(Apply(Apply(TypeApply(Ident(choice),List(TypeTree[OrType(OrType(OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Money)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDateTime),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),LocalTime))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Ratio),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Reference))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ParameterDefinition),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Period)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Signature))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Expression),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Meta)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),DataRequirement),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Timing))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactDetail),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactPoint)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Dosage),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),TriggerDefinition)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object util),UUID))))),OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Coding),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Contributor)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Address),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Quantity))),OrType(OrType(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Array),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Byte))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Annotation),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Attachment))),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDate),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object lang),String)))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object math),BigDecimal),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Boolean)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),HumanName),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Int)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Identifier))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Range),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),RelatedArtifact)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),SampledData),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),UsageContext)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),ZonedDateTime))))))], TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept)])),List(Ident(value))),List(TypeApply(Ident(materialize),List(TypeTree[OrType(OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Reference),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ParameterDefinition)),OrType(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Array),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Byte))),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDate))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Expression),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactPoint)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object util),UUID),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Int)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),RelatedArtifact)))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Money)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Quantity),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object lang),String))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Meta),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),ContactDetail)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Coding),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),HumanName)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),SampledData))))),OrType(OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Ratio),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Period)),OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Annotation),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Attachment))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Signature),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Dosage)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),TriggerDefinition),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Identifier)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Range)))),OrType(OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),DataRequirement),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Timing)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Contributor),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),Boolean)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),UsageContext))),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),FHIRDateTime),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),LocalTime)),OrType(OrType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Address),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object math),BigDecimal)),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class java)),object time),ZonedDateTime))))))])), TypeApply(Ident(materialize),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept)])), TypeApply(Ident(materialize),List(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),CodeableConcept)]))))))), ValDef(extension$1,TypeTree[AnnotatedType(AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class lit)),object core),LitSeq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class core)),object model),Extension))),ConcreteAnnotation(Apply(Select(New(TypeTree[TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class annotation)),object unchecked),uncheckedVariance)]),<init>),List())))],Select(Ident(Extension),$lessinit$greater$default$4))),Apply(Select(New(Ident(Extension)),<init>),List(NamedArg(id,Ident(id)), NamedArg(url,Literal(Constant(http://hl7.org/fhir/StructureDefinition/observation-focusCode))), NamedArg(value,Ident(value$1)), Ident(extension$1), NamedArg(primitiveAttributes,Ident(primitiveAttributes))))) (of class dotty.tools.dotc.ast.Trees$Block)
    at dotty.tools.scaladoc.tasty.ClassLikeSupport.unpackTreeToClassDef$1(ClassLikeSupport.scala:71)
    at dotty.tools.scaladoc.tasty.ClassLikeSupport.getSupertypesGraph$1$$anonfun$1(ClassLikeSupport.scala:83)
    at scala.collection.immutable.List.flatMap(List.scala:293)
    at scala.collection.immutable.List.flatMap(List.scala:79)
    at dotty.tools.scaladoc.tasty.ClassLikeSupport.getSupertypesGraph$1(ClassLikeSupport.scala:86)
WojciechMazur commented 1 year ago

This error can no longer be found in the project when compiling with latest version of compiler