Open
Description
The code below will cause error on Scala 2.13.x with fastparse 3.1.1
private def `function-expr0`[_: P]: P[(PathFunctionDefinition, java.util.List[Expression])] = {
P(`function-name` ~~ &("(")).flatMap { name =>
val function = FunctionRegistry.getFunction(name)
if (function eq null) {
Fail(s"Unknown function: $name")
} else {
val f = function.asInstanceOf[AbstractFunctionDefinition[_]]
val argTypes = java.util.Arrays.asList(f.getArgumentTypes(): _*)
P("("~ functionParameterParser(argTypes) ~ ")")
.map(args => (f, args))
}
}
}
which throws:
scalac: Error: Could not find proxy for case val x1: fastparse.ParsingRun in List(value x1, method $anonfun$function-expr0$1, value x1, value lhs, method function-expr0, object JsonPathParser, package jsonpath, package mtop, package ultramax, package alibaba, package com, package <root>) (currentOwner= value input )
java.lang.IllegalArgumentException: Could not find proxy for case val x1: fastparse.ParsingRun in List(value x1, method $anonfun$function-expr0$1, value x1, value lhs, method function-expr0, object JsonPathParser, package jsonpath, package mtop, package ultramax, package alibaba, package com, package <root>) (currentOwner= value input )
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:324)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$proxy$4(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.searchIn$1(LambdaLift.scala:329)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.proxy(LambdaLift.scala:338)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.proxyRef(LambdaLift.scala:378)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.postTransform(LambdaLift.scala:529)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Select.transform(Trees.scala:856)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$ValDef.$anonfun$transform$4(Trees.scala:435)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$ValDef.transform(Trees.scala:434)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2594)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$LabelDef.transform(Trees.scala:498)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Typed.transform(Trees.scala:747)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$DefDef.$anonfun$transform$5(Trees.scala:455)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$DefDef.transform(Trees.scala:453)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2594)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$If.transform(Trees.scala:683)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$If.transform(Trees.scala:683)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2594)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$LabelDef.transform(Trees.scala:498)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2594)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$LabelDef.transform(Trees.scala:498)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Typed.transform(Trees.scala:747)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$ValDef.$anonfun$transform$4(Trees.scala:435)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$ValDef.transform(Trees.scala:434)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2594)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$LabelDef.transform(Trees.scala:498)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Typed.transform(Trees.scala:747)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:2594)
at scala.reflect.internal.Trees$Apply.transform(Trees.scala:790)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$ValDef.$anonfun$transform$4(Trees.scala:435)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$ValDef.transform(Trees.scala:434)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Block.transform(Trees.scala:560)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Typed.transform(Trees.scala:747)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.internal.Trees$DefDef.$anonfun$transform$5(Trees.scala:455)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$DefDef.transform(Trees.scala:453)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$Template.transform(Trees.scala:548)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.$anonfun$transform$1(TypingTransformers.scala:53)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:38)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.transformTemplate(Trees.scala:2598)
at scala.reflect.internal.Trees$ClassDef.$anonfun$transform$2(Trees.scala:363)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$ClassDef.transform(Trees.scala:362)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:57)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:60)
at scala.reflect.api.Trees$Transformer.$anonfun$transformStats$1(Trees.scala:2625)
at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:2623)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:577)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformStats(LambdaLift.scala:60)
at scala.reflect.internal.Trees$PackageDef.$anonfun$transform$1(Trees.scala:344)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
at scala.reflect.internal.Trees$PackageDef.transform(Trees.scala:344)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.$anonfun$transform$2(TypingTransformers.scala:55)
at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:2636)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:43)
at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:38)
at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:309)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.preTransform(LambdaLift.scala:551)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transform(LambdaLift.scala:559)
at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:182)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.super$transformUnit(LambdaLift.scala:583)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.$anonfun$transformUnit$1(LambdaLift.scala:583)
at scala.tools.nsc.transform.LambdaLift$LambdaLifter.transformUnit(LambdaLift.scala:583)
at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:32)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:483)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:430)
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1564)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1548)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1540)
at scala.tools.nsc.Global$Run.compileFiles(Global.scala:1653)
at scala.tools.xsbt.CachedCompiler0.run(CompilerBridge.scala:176)
at scala.tools.xsbt.CachedCompiler0.run(CompilerBridge.scala:139)
at scala.tools.xsbt.CompilerBridge.run(CompilerBridge.scala:43)
at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
at org.jetbrains.jps.incremental.scala.local.IdeaIncrementalCompiler.compile(IdeaIncrementalCompiler.scala:49)
at org.jetbrains.jps.incremental.scala.local.LocalServer.doCompile(LocalServer.scala:51)
at org.jetbrains.jps.incremental.scala.local.LocalServer.compile(LocalServer.scala:29)
at org.jetbrains.jps.incremental.scala.remote.Main$.compileLogic(Main.scala:210)
at org.jetbrains.jps.incremental.scala.remote.Main$.$anonfun$handleCommand$1(Main.scala:191)
at org.jetbrains.jps.incremental.scala.remote.Main$.decorated$1(Main.scala:178)
at org.jetbrains.jps.incremental.scala.remote.Main$.handleCommand(Main.scala:188)
at org.jetbrains.jps.incremental.scala.remote.Main$.serverLogic(Main.scala:161)
at org.jetbrains.jps.incremental.scala.remote.Main$.nailMain(Main.scala:101)
at org.jetbrains.jps.incremental.scala.remote.Main.nailMain(Main.scala)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.facebook.nailgun.NGSession.runImpl(NGSession.java:312)
at com.facebook.nailgun.NGSession.run(NGSession.java:198)
But if I change the code to :
private def `function-expr0`[_: P]: P[(PathFunctionDefinition, java.util.List[Expression])] = {
P(`function-name` ~~ "(").flatMap { name =>
val function = FunctionRegistry.getFunction(name)
if (function eq null) {
Fail(s"Unknown function: $name")
} else {
val f = function.asInstanceOf[AbstractFunctionDefinition[_]]
val argTypes = java.util.Arrays.asList(f.getArgumentTypes(): _*)
P(functionParameterParser(argTypes) ~ ")")
.map(args => (f, args))
}
}
}
It compiles, I encounter this when parse: https://datatracker.ietf.org/doc/html/rfc9535#name-function-extensions
Metadata
Metadata
Assignees
Labels
No labels