- 
                Notifications
    You must be signed in to change notification settings 
- Fork 25
Closed
Description
As some of the symbols and types used by the semantic domain are static (Builtins), flags may be incorrect.
For example with this code:
       IDENTIFICATION DIVISION.
       PROGRAM-ID. ProgTest.
       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 MyType typedef strict.
          05 someItem PIC X.
             88 test1 value 'a'.
             88 test2 value 'b'.
       01 NotAType PIC X.
          88 test3 value 'c'.
          88 test4 value 'd'.
       END PROGRAM ProgTest.The two 88-level test3 and test4 will be flagged InsideTypeDef because DataConditionType, the builtin type for data conditions, is shared amongst all instances and is flagged during the building of MyType.
To solve this, we may forbid flagging on builtin symbols and types after they've been built but this could be a problem for flags that must be inherited. This should be discussed.