Find and replace in ttcn field name cause NPE
Submitted by Jeno Attila Balasko
Assigned to Jeno Attila Balasko
Link to original bug (#502537)
Description
If a field name of a record is renamed by find&replace dialog (CTRL-F) then NPE exceptions are thrown. For example I replaced "anything" with "anything1" in the code as follows. The listed exceptions were thrown.(the third comes when I click in the editor.
module EduardPortSend {
type port Port message { out Request; //in Response; } with { extension "internal" };
type record Request { integer anything //,integer anything13 //this line should be modified }
//type record Response { // integer anything1 //}
type component Component { port Port p1; }
function f1() runs on Component { // p1.send( Request:{ anything1 := 1, anything13:=3}); p1.send( Request:{ anything := 1 }); }
}//module
Exceptions: !ENTRY org.eclipse.titan.common 4 0 2016-09-29 09:13:24.778 !MESSAGE !STACK 0 java.lang.NullPointerException at org.eclipse.titan.designer.AST.TTCN3.types.CompField.updateSyntax(CompField.java:264) at org.eclipse.titan.designer.AST.TTCN3.types.CompFieldMap.updateSyntax(CompFieldMap.java:394) at org.eclipse.titan.designer.AST.TTCN3.types.TTCN3_Set_Seq_Choice_BaseType.updateSyntax(TTCN3_Set_Seq_Choice_BaseType.java:507) at org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Type.updateSyntax(Def_Type.java:400) at org.eclipse.titan.designer.AST.TTCN3.definitions.Definitions.updateSyntax(Definitions.java:807) at org.eclipse.titan.designer.AST.TTCN3.definitions.TTCN3Module.updateSyntax(TTCN3Module.java:1089) at org.eclipse.titan.designer.parsers.ProjectSourceSyntacticAnalyzer.updateSyntax(ProjectSourceSyntacticAnalyzer.java:297) at org.eclipse.titan.designer.parsers.ProjectSourceParser$8.runInWorkspace(ProjectSourceParser.java:632) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!ENTRY org.eclipse.titan.common 4 0 2016-09-29 09:13:24.835 !MESSAGE !STACK 0 java.lang.NullPointerException at org.eclipse.titan.designer.AST.TTCN3.types.CompFieldMap.checkUniqueness(CompFieldMap.java:185) at org.eclipse.titan.designer.AST.TTCN3.types.CompFieldMap.check(CompFieldMap.java:223) at org.eclipse.titan.designer.AST.TTCN3.types.TTCN3_Set_Seq_Choice_BaseType.check(TTCN3_Set_Seq_Choice_BaseType.java:373) at org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Type.check(Def_Type.java:185) at org.eclipse.titan.designer.AST.Reference.getRefdAssignment(Reference.java:470) at org.eclipse.titan.designer.AST.TTCN3.types.Referenced_Type.getTypeRefd(Referenced_Type.java:361) at org.eclipse.titan.designer.AST.TTCN3.types.Referenced_Type.getTypeRefdLast(Referenced_Type.java:445) at org.eclipse.titan.designer.AST.Type.getTypeRefdLast(Type.java:220) at org.eclipse.titan.designer.AST.TTCN3.types.Referenced_Type.check(Referenced_Type.java:257) at org.eclipse.titan.designer.AST.TTCN3.types.Referenced_Type.check(Referenced_Type.java:241) at org.eclipse.titan.designer.AST.TTCN3.types.PortTypeBody.checkList(PortTypeBody.java:801) at org.eclipse.titan.designer.AST.TTCN3.types.PortTypeBody.check(PortTypeBody.java:410) at org.eclipse.titan.designer.AST.TTCN3.types.Port_Type.check(Port_Type.java:123) at org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Type.check(Def_Type.java:185) at org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Type.check(Def_Type.java:162) at org.eclipse.titan.designer.AST.TTCN3.definitions.Definitions.check(Definitions.java:366) at org.eclipse.titan.designer.AST.TTCN3.definitions.TTCN3Module.check(TTCN3Module.java:428) at org.eclipse.titan.designer.AST.brokenpartsanalyzers.BrokenPartsChecker.generalChecker(BrokenPartsChecker.java:90) at org.eclipse.titan.designer.AST.brokenpartsanalyzers.BrokenPartsChecker.doChecking(BrokenPartsChecker.java:56) at org.eclipse.titan.designer.parsers.ProjectSourceSemanticAnalyzer.analyzeMultipleProjectsSemantically(ProjectSourceSemanticAnalyzer.java:385) at org.eclipse.titan.designer.parsers.ProjectSourceParser.internalDoAnalyzeWithReferences(ProjectSourceParser.java:778) at org.eclipse.titan.designer.parsers.ProjectSourceParser.access$4(ProjectSourceParser.java:668) at org.eclipse.titan.designer.parsers.ProjectSourceParser$10.runInWorkspace(ProjectSourceParser.java:976) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!ENTRY org.eclipse.core.jobs 4 2 2016-09-29 09:48:02.073 !MESSAGE An internal error occurred during: "Marking occurrences". !STACK 0 java.lang.NullPointerException at org.eclipse.titan.designer.AST.TTCN3.types.TTCN3_Set_Seq_Choice_BaseType.getComponentIdentifierByName(TTCN3_Set_Seq_Choice_BaseType.java:568) at org.eclipse.titan.designer.AST.TTCN3.types.CompField.getDeclaration(CompField.java:364) at org.eclipse.titan.designer.declarationsearch.IdentifierFinderVisitor.getReferencedDeclaration(IdentifierFinderVisitor.java:85) at org.eclipse.titan.designer.editors.OccurencesMarker.findOccurrencesLocationBased(OccurencesMarker.java:295) at org.eclipse.titan.designer.editors.ttcn3editor.TTCN3OccurrenceMarker.findOccurrences(TTCN3OccurrenceMarker.java:30) at org.eclipse.titan.designer.editors.OccurencesMarker.doMark(OccurencesMarker.java:243) at org.eclipse.titan.designer.editors.OccurencesMarker.access$3(OccurencesMarker.java:187) at org.eclipse.titan.designer.editors.OccurencesMarker$MarkerJob.runInWorkspace(OccurencesMarker.java:104) at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
!ENTRY org.eclipse.jface.text 4 0 2016-09-29 11:18:16.372
!MESSAGE Unexpected runtime error while computing a text hover !STACK 0 java.lang.NullPointerException at org.eclipse.titan.designer.AST.TTCN3.types.CompFieldMap.getComponentsWithPrefix(CompFieldMap.java:273) at org.eclipse.titan.designer.AST.TTCN3.types.TTCN3_Set_Seq_Choice_BaseType.addDeclaration(TTCN3_Set_Seq_Choice_BaseType.java:490) at org.eclipse.titan.designer.AST.TTCN3.definitions.Def_Type.addDeclaration(Def_Type.java:341) at org.eclipse.titan.designer.AST.TTCN3.definitions.Definitions.addDeclaration(Definitions.java:500) at org.eclipse.titan.designer.AST.Scope.addDeclaration(Scope.java:559) at org.eclipse.titan.designer.AST.Scope.addDeclaration(Scope.java:559) at org.eclipse.titan.designer.AST.TTCN3.definitions.RunsOnScope.addDeclaration(RunsOnScope.java:118) at org.eclipse.titan.designer.AST.Scope.addDeclaration(Scope.java:559) at org.eclipse.titan.designer.AST.TTCN3.definitions.FormalParameterList.addDeclaration(FormalParameterList.java:1028) at org.eclipse.titan.designer.AST.Scope.addDeclaration(Scope.java:559) at org.eclipse.titan.designer.AST.TTCN3.statements.StatementBlock.addDeclaration(StatementBlock.java:965) at org.eclipse.titan.designer.editors.actions.OpenDeclarationHelper.findVisibleDeclarations(OpenDeclarationHelper.java:96) at org.eclipse.titan.designer.editors.BaseTextHover.getHoverInfo(BaseTextHover.java:89) at org.eclipse.titan.designer.editors.BaseTextHover.getHoverInfo2(BaseTextHover.java:149) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166)
Version: 5.5.0