Files
lmxopcua/tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.IntegrationTests/TwinCatProject/PLC/DUTs/ST_RecursiveCap.TcDUT
2026-04-26 07:28:52 -04:00

19 lines
831 B
XML

<?xml version="1.0" encoding="utf-8"?>
<TcPlcObject Version="1.1.0.1" ProductVersion="3.1.4024.0">
<DUT Name="ST_RecursiveCap" Id="{00000000-0000-0000-0000-000000000402}">
<Declaration><![CDATA[// PR 4.1 / #315 — exercises the depth-cap / cycle-guard path in TwinCATTypeWalker.
// A POINTER TO ST_RecursiveCap surfaces in the IDataType graph as IsPointer=true
// (DataTypeCategory.Pointer); the walker should skip the pointer member rather than
// recurse, leaving nValue as the only atomic leaf. If the cycle guard ever regresses
// the walker would either stack-overflow or emit a flood of self-referential paths,
// both of which the integration test asserts against.
TYPE ST_RecursiveCap :
STRUCT
nValue : DINT;
pNext : POINTER TO ST_RecursiveCap;
END_STRUCT
END_TYPE
]]></Declaration>
</DUT>
</TcPlcObject>