phantm icon indicating copy to clipboard operation
phantm copied to clipboard

expr() not handling correctly

Open sk- opened this issue 11 years ago • 1 comments

When running phantm against PHP-CS-Fixer (https://github.com/fabpot/PHP-CS-Fixer) an exception is raised.

java -jar ../../../phantm-1.0.7.jar Finder/DefaultFinder.php FinderInterface.php


Exception in thread "main" java.lang.RuntimeException: expr() not handling correctly: Closure(List(ArgumentDecl(SimpleVariable(Identifier(file)),Some(THObject(StaticClassRef(NSIdentifier(NSResolved,List(SplFileInfo))))),None,false)),List(ArgumentDecl(SimpleVariable(Identifier(files)),None,None,false)),false,Block(List(Return(BooleanNot(FunctionCall(StaticFunctionRef(NSIdentifier(NSResolved,List(in_array))),List(CallArg(MethodCall(SimpleVariable(Identifier(file)),StaticMethodRef(Identifier(getRelativePathname)),List()),false), CallArg(SimpleVariable(Identifier(files)),false))))))))(/home/skreft/Downloads/PHP-CS-Fixer/Symfony/CS/Finder/DefaultFinder.php line 37 column 21)
    at scala.sys.package$.error(package.scala:27)
    at phantm.cfg.ASTToCFG$.expr$1(ASTToCFG.scala:470)
    at phantm.cfg.ASTToCFG$$anonfun$exprStoreGet$1$2.apply(ASTToCFG.scala:336)
    at phantm.cfg.ASTToCFG$$anonfun$exprStoreGet$1$2.apply(ASTToCFG.scala:336)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:233)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    at scala.collection.immutable.List.foreach(List.scala:76)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:233)
    at scala.collection.immutable.List.map(List.scala:76)
    at phantm.cfg.ASTToCFG$.exprStoreGet$1(ASTToCFG.scala:336)
    at phantm.cfg.ASTToCFG$.expr$1(ASTToCFG.scala:365)
    at phantm.cfg.ASTToCFG$.stmt$1(ASTToCFG.scala:778)
    at phantm.cfg.ASTToCFG$.stmts$1(ASTToCFG.scala:487)
    at phantm.cfg.ASTToCFG$.stmt$1(ASTToCFG.scala:521)
    at phantm.cfg.ASTToCFG$.stmts$1(ASTToCFG.scala:487)
    at phantm.cfg.ASTToCFG$.convertAST(ASTToCFG.scala:817)
    at phantm.phases.CFGGenerator$$anonfun$visit$1.apply(CFGGenerationPhase.scala:65)
    at phantm.phases.CFGGenerator$$anonfun$visit$1.apply(CFGGenerationPhase.scala:61)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    at scala.collection.immutable.List.foreach(List.scala:76)
    at phantm.phases.CFGGenerator.visit(CFGGenerationPhase.scala:61)
    at phantm.ast.ASTSimpleTraversal$$anonfun$execute$1.apply(ASTTraversal.scala:16)
    at phantm.ast.ASTSimpleTraversal$$anonfun$execute$1.apply(ASTTraversal.scala:16)
    at phantm.ast.ASTSimpleTraversal.visit0$1(ASTTraversal.scala:12)
    at phantm.ast.ASTSimpleTraversal$$anonfun$traverse$1.apply(ASTTraversal.scala:13)
    at phantm.ast.ASTSimpleTraversal$$anonfun$traverse$1.apply(ASTTraversal.scala:13)
    at phantm.ast.ASTTraversal.traverse0$1(ASTTraversal.scala:49)
    at phantm.ast.ASTTraversal.traverse(ASTTraversal.scala:68)
    at phantm.ast.ASTSimpleTraversal.traverse(ASTTraversal.scala:13)
    at phantm.ast.ASTSimpleTraversal.execute(ASTTraversal.scala:16)
    at phantm.phases.CFGGenerationPhase$.run(CFGGenerationPhase.scala:20)
    at phantm.phases.PhasesRunner$$anonfun$run$1$$anonfun$apply$mcV$sp$2.apply(PhasesRunner.scala:38)
    at phantm.phases.PhasesRunner$$anonfun$run$1$$anonfun$apply$mcV$sp$2.apply(PhasesRunner.scala:33)
    at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
    at scala.collection.immutable.List.foreach(List.scala:76)
    at phantm.phases.PhasesRunner$$anonfun$run$1.apply$mcV$sp(PhasesRunner.scala:33)
    at scala.util.control.Breaks.breakable(Breaks.scala:39)
    at phantm.phases.PhasesRunner.run(PhasesRunner.scala:32)
    at phantm.Main$.main(Main.scala:38)
    at phantm.Main.main(Main.scala)

sk- avatar Sep 11 '13 21:09 sk-

Sadly, closures are not supported currently.

colder avatar Sep 11 '13 21:09 colder