Enum FixedAssignmentSemanticFlags
The semantic flags that can be attached to an LSet or RSet statement (MS-VBAL §5.4.3.6-7) operation.
[Flags]
public enum FixedAssignmentSemanticFlags
Fields
DestinationHoldsVariableLengthString = 16The destination of a UserDefinedTypeCopy is a user-defined type that has a variable-length
Stringmember, at any depth.Failed = 1This operation produces a run-time error.
None = 0No flags set.
SourceHoldsVariableLengthString = 8The source of a UserDefinedTypeCopy is a user-defined type that has a variable-length
Stringmember, at any depth.👉 MS-VBA copies the member's pointer, and leaves two records owning one allocation: which is why the statement is a known way to corrupt a VBA process. RD-VBA copies the value instead and corrupts nothing, but a program written against MS-VBA's behaviour is relying on something that it should be told about either way.
StringTarget = 2The target is a
String: the value is fitted into the width the target already has.UserDefinedTypeCopy = 4The target and the source are user-defined types:
LSetcopies one over the other as bytes.
Remarks
🧩 The statement itself says nothing about a program that is wrong in a way it can still run: the facts are flagged here, at analysis time, and it is
for an analyzer (RDCore.Diagnostics, or any other) to decide whether one is worth a diagnostic.