protected override void FreezeInternal() { base.FreezeInternal(); assemblyAttributes = FreezableHelper.FreezeListAndElements(assemblyAttributes); moduleAttributes = FreezableHelper.FreezeListAndElements(moduleAttributes); foreach (var type in typeDefinitions.Values) { FreezableHelper.Freeze(type); } }
protected override void FreezeInternal() { base.FreezeInternal(); constructorParameterTypes = FreezableHelper.FreezeList(constructorParameterTypes); positionalArguments = FreezableHelper.FreezeListAndElements(positionalArguments); namedArguments = FreezableHelper.FreezeList(namedArguments); foreach (var pair in namedArguments) { FreezableHelper.Freeze(pair.Key); FreezableHelper.Freeze(pair.Value); } }
public override ISupportsInterning Intern(ISupportsInterning obj) { if (obj == null) { return(null); } // ensure objects are frozen when we put them into the dictionary // note that Freeze may change the hash code of the object FreezableHelper.Freeze(obj); ISupportsInterning output; if (supportsInternDict.TryGetValue(obj, out output)) { return(output); } else { supportsInternDict.Add(obj, obj); return(obj); } }
protected override void FreezeInternal() { FreezableHelper.Freeze(constantValue); base.FreezeInternal(); }
void FreezeInternal() { attributes = FreezableHelper.FreezeListAndElements(attributes); FreezableHelper.Freeze(defaultValue); }