internal MutableReference(MutableItem owner, StObjMutableReferenceKind kind) { Owner = owner; _kind = kind; if (_kind == StObjMutableReferenceKind.Requires || _kind == StObjMutableReferenceKind.Group || _kind == StObjMutableReferenceKind.RealObject || (_kind & StObjMutableReferenceKind.Container) != 0) { StObjRequirementBehavior = StObjRequirementBehavior.ErrorIfNotStObj; } else { Debug.Assert((_kind & StObjMutableReferenceKind.ConstructParameter) != 0 || _kind == StObjMutableReferenceKind.RequiredBy || _kind == StObjMutableReferenceKind.AmbientProperty); StObjRequirementBehavior = StObjRequirementBehavior.None; } }
internal MutableReferenceList(MutableItem owner, StObjMutableReferenceKind kind) { _owner = owner; _kind = kind; }
internal MutableReferenceOptional(MutableItem owner, StObjMutableReferenceKind kind) : base(owner, kind) { _resolved = UnresolvedMarker; }
internal MutableReferenceWithValue(MutableItem owner, StObjMutableReferenceKind kind) : base(owner, kind) { Value = System.Type.Missing; }