| Summary: | Cannot acquire AST when using alternate returns | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Tools] PTP | Reporter: | Matthew Fotzler <incongruous> | ||||
| Component: | Photran.Refactoring Engine | Assignee: | Jeffrey Overbey <com-eclipse-dot-org> | ||||
| Status: | RESOLVED WORKSFORME | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | com-eclipse-dot-org, miwako.tokugawa | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Created attachment 172421 [details]
source code using alternate return
Will need to fix control flow graph when this support is added. This appears to be fixed in HEAD/7.0 -- I'm not sure exactly when it was fixed though... *** Bug 319622 has been marked as a duplicate of this bug. *** |
Build Identifier: When using the attached source code that includes alternate returns, the following null pointer exception is received. java.lang.NullPointerException at org.eclipse.photran.internal.core.analysis.binding.BindingCollector.bind(BindingCollector.java:142) at org.eclipse.photran.internal.core.analysis.binding.BindingCollector.bindAsParam(BindingCollector.java:162) at org.eclipse.photran.internal.core.analysis.binding.ReferenceCollector.visitASTSubroutineStmtNode(ReferenceCollector.java:850) at org.eclipse.photran.internal.core.parser.ASTSubroutineStmtNode.accept(ASTSubroutineStmtNode.java:95) at org.eclipse.photran.internal.core.parser.ASTVisitor.traverseChildren(ASTVisitor.java:21) at org.eclipse.photran.internal.core.parser.ASTVisitor.visitASTSubroutineSubprogramNode(ASTVisitor.java:359) at org.eclipse.photran.internal.core.parser.ASTSubroutineSubprogramNode.accept(ASTSubroutineSubprogramNode.java:100) at org.eclipse.photran.internal.core.parser.ASTVisitor.traverseChildren(ASTVisitor.java:21) at org.eclipse.photran.internal.core.parser.ASTVisitor.visitASTListNode(ASTVisitor.java:26) at org.eclipse.photran.internal.core.parser.ASTListNode.accept(ASTListNode.java:130) at org.eclipse.photran.internal.core.parser.ASTVisitor.traverseChildren(ASTVisitor.java:21) at org.eclipse.photran.internal.core.parser.ASTVisitor.visitASTExecutableProgramNode(ASTVisitor.java:176) at org.eclipse.photran.internal.core.parser.ASTExecutableProgramNode.accept(ASTExecutableProgramNode.java:61) at org.eclipse.photran.internal.core.FortranAST.accept(FortranAST.java:53) at org.eclipse.photran.internal.core.analysis.binding.Binder.bind(Binder.java:55) at org.eclipse.photran.internal.core.vpg.PhotranVPGBuilder.populateVPG(PhotranVPGBuilder.java:468) at org.eclipse.photran.internal.core.vpg.PhotranVPGBuilder.populateVPG(PhotranVPGBuilder.java:1) at org.eclipse.rephraserengine.core.vpg.VPG.computeEdgesAndAnnotations(VPG.java:203) at org.eclipse.rephraserengine.core.vpg.VPG.acquireTransientAST(VPG.java:147) at org.eclipse.rephraserengine.core.vpg.VPG.forceRecomputationOfEdgesAndAnnotations(VPG.java:292) at org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG$VPGResourceDeltaVisitor.index(EclipseVPG.java:375) at org.eclipse.rephraserengine.core.vpg.eclipse.EclipseVPG$VPGResourceDeltaJob.runInWorkspace(EclipseVPG.java:266) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Reproducible: Always