-
Notifications
You must be signed in to change notification settings - Fork 371
Open
Labels
bugSomething isn't workingSomething isn't working
Description
When trying to get location node from an annotation returns an error:
joern> cpg.annotation.fullName(".*SpringBootApplication.*").location.l
java.util.NoSuchElementException: next on empty iterator
at scala.collection.Iterator$$anon$19.next(Iterator.scala:973)
at scala.collection.Iterator$$anon$19.next(Iterator.scala:971)
at scala.collection.Iterator$$anon$6.next(Iterator.scala:492)
at flatgraph.traversal.GenericSteps$.head$extension(Language.scala:98)
at io.shiftleft.semanticcpg.language.nodemethods.CfgNodeMethods$.method$extension(CfgNodeMethods.scala:109)
at io.shiftleft.semanticcpg.language.LazyLocation.method$lzyINIT1(Location.scala:117)
at io.shiftleft.semanticcpg.language.LazyLocation.method(Location.scala:117)
at io.shiftleft.semanticcpg.language.LazyLocation.filename(Location.scala:99)
at io.shiftleft.semanticcpg.language.LazyLocation.productElements$lzyINIT1(Location.scala:143)
at io.shiftleft.semanticcpg.language.LazyLocation.productElements(Location.scala:140)
at io.shiftleft.semanticcpg.language.LazyLocation.productArity(Location.scala:156)
at replpp.shaded.pprint.Walker.treeify$$anonfun$1(Walker.scala:100)
at scala.Option.getOrElse(Option.scala:201)
at replpp.shaded.pprint.Walker.treeify(Walker.scala:128)
at replpp.shaded.pprint.Walker.treeify$$anonfun$1$$anonfun$3(Walker.scala:85)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:584)
at replpp.shaded.pprint.Renderer.rec(Renderer.scala:42)
at replpp.PPrinter$$anon$2.rec(PPrinter.scala:48)
at replpp.PPrinter$$anon$1.tokenize(PPrinter.scala:51)
at replpp.shaded.pprint.PPrinter.apply(PPrinter.scala:121)
at replpp.PPrinter$.apply(PPrinter.scala:22)
at replpp.PPrinter.apply(PPrinter.scala)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at replpp.Rendering.classLoader$$anonfun$1(Rendering.scala:72)
at replpp.Rendering.classLoader$$anonfun$adapted$1(Rendering.scala:71)
at replpp.Rendering.replStringOf(Rendering.scala:87)
at replpp.Rendering.valueOf$$anonfun$2(Rendering.scala:105)
at scala.Option.map(Option.scala:242)
at replpp.Rendering.valueOf(Rendering.scala:105)
at replpp.Rendering.renderVal(Rendering.scala:142)
at replpp.DottyReplDriver.$anonfun$8(DottyReplDriver.scala:391)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.immutable.List.foreach(List.scala:334)
at replpp.DottyReplDriver.extractAndFormatMembers$1(DottyReplDriver.scala:391)
at replpp.DottyReplDriver.renderDefinitions$$anonfun$2(DottyReplDriver.scala:429)
at scala.Option.map(Option.scala:242)
at replpp.DottyReplDriver.renderDefinitions(DottyReplDriver.scala:428)
at replpp.DottyReplDriver.compile$$anonfun$2(DottyReplDriver.scala:333)
at scala.util.Either.fold(Either.scala:197)
at replpp.DottyReplDriver.compile(DottyReplDriver.scala:315)
at replpp.DottyReplDriver.interpret(DottyReplDriver.scala:274)
at replpp.ReplDriverBase.interpretInput(ReplDriverBase.scala:49)
at replpp.ReplDriver.loop$1$$anonfun$1(ReplDriver.scala:37)
at scala.util.Try$.apply(Try.scala:217)
at replpp.ReplDriver.loop$1(ReplDriver.scala:38)
at replpp.ReplDriver.runUntilQuit$$anonfun$2(ReplDriver.scala:57)
at replpp.DottyReplDriver.withRedirectedOutput(DottyReplDriver.scala:230)
at replpp.DottyReplDriver.runBody$$anonfun$1(DottyReplDriver.scala:204)
at dotty.tools.runner.ScalaClassLoader$.asContext(ScalaClassLoader.scala:80)
at replpp.DottyReplDriver.runBody(DottyReplDriver.scala:204)
at replpp.ReplDriver.runUntilQuit(ReplDriver.scala:58)
at replpp.InteractiveShell$.run(InteractiveShell.scala:43)
at io.joern.console.InteractiveShell.startInteractiveShell(BridgeBase.scala:269)
at io.joern.console.InteractiveShell.startInteractiveShell$(BridgeBase.scala:266)
at io.joern.joerncli.console.ReplBridge$.startInteractiveShell(ReplBridge.scala:5)
at io.joern.console.BridgeBase.run(BridgeBase.scala:226)
at io.joern.console.BridgeBase.run$(BridgeBase.scala:45)
at io.joern.joerncli.console.ReplBridge$.run(ReplBridge.scala:5)
at io.joern.joerncli.console.ReplBridge$.main(ReplBridge.scala:10)
at io.joern.joerncli.console.ReplBridge.main(ReplBridge.scala)Loaded code:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}Another example:
Code fragment:
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working

