KhronosGroup / KhronosGroup/glslang

Both "preVisit" and "inVisit" are set to true in TLiveTraverser

Open
#2,937 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
3.6k
Forks
989
Avg merge
1d 2h
Merged PRs (30d)
31

Description

Hi,

Class `TVarGatherTraverser` is a subclass of `TLiveTraverser`, thus it is also a sub-subclass of `TIntermTraverser`.
Why both its "preVisit" and "inVisit" member are both set to true? See pic below:
Screen Shot 2022-05-02 at 18 52 14
and
Screen Shot 2022-05-02 at 18 52 38

According to my understanding, only one of "preVisit", "inVisit", "postVisit" is set to true.
This is a bug? Thanks!

George

Contributor guide

Open the contributing guide

Research direction

Start by reading the TLiveTraverser, TVarGatherTraverser, and TIntermTraverser definitions referenced in the report, then trace where preVisit and inVisit are assigned during traversal. Compare the observed state with the traversal contract and existing tests or callers. Done means confirming whether the flags violate the intended invariant and documenting or correcting the behavior with coverage if applicable.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.