@@ -690,12 +690,14 @@ export default class Parser {
690
690
691
691
case `END-PROC` :
692
692
//Procedures can only exist in the global scope.
693
- currentItem = scopes [ 0 ] . procedures . find ( proc => proc . name === currentProcName ) ;
693
+ if ( scopes . length > 1 ) {
694
+ currentItem = scopes [ 0 ] . procedures . find ( proc => proc . name === currentProcName ) ;
694
695
695
- if ( currentItem && currentItem . type === `procedure` ) {
696
- currentItem . scope = scopes . pop ( ) ;
697
- currentItem . range . end = lineNumber ;
698
- resetDefinition = true ;
696
+ if ( currentItem && currentItem . type === `procedure` ) {
697
+ currentItem . scope = scopes . pop ( ) ;
698
+ currentItem . range . end = lineNumber ;
699
+ resetDefinition = true ;
700
+ }
699
701
}
700
702
break ;
701
703
@@ -956,13 +958,15 @@ export default class Parser {
956
958
scopes . push ( new Cache ( ) ) ;
957
959
}
958
960
} else {
959
- //Procedures can only exist in the global scope.
960
- currentItem = scopes [ 0 ] . procedures . find ( proc => proc . name === currentProcName ) ;
961
+ if ( scopes . length > 1 ) {
962
+ //Procedures can only exist in the global scope.
963
+ currentItem = scopes [ 0 ] . procedures . find ( proc => proc . name === currentProcName ) ;
961
964
962
- if ( currentItem && currentItem . type === `procedure` ) {
963
- currentItem . scope = scopes . pop ( ) ;
964
- currentItem . range . end = lineNumber ;
965
- resetDefinition = true ;
965
+ if ( currentItem && currentItem . type === `procedure` ) {
966
+ currentItem . scope = scopes . pop ( ) ;
967
+ currentItem . range . end = lineNumber ;
968
+ resetDefinition = true ;
969
+ }
966
970
}
967
971
}
968
972
}
@@ -1150,7 +1154,9 @@ export default class Parser {
1150
1154
}
1151
1155
}
1152
1156
1153
- scopes [ 0 ] . keyword = Parser . expandKeywords ( keywords ) ;
1157
+ if ( scopes . length > 0 ) {
1158
+ scopes [ 0 ] . keyword = Parser . expandKeywords ( keywords ) ;
1159
+ }
1154
1160
1155
1161
const parsedData = scopes [ 0 ] ;
1156
1162
0 commit comments