Skip to content

Bug in symbol/types flags (in semantic domain) #2035

@fm-117

Description

@fm-117

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions