internal ISerializableValue WrapRawValue(Type type, object value) { RegisteredType registeredType = GetRegisteredType(type); ISerializableValue serializableValue = registeredType.Wrapper(this, type, value); return(serializableValue); }
internal ISerializableValue Instantiate(Type type, PainlessBinaryReader reader) { RegisteredType registeredType = GetRegisteredType(type); ISerializableValue value = registeredType.Instantiator(this, type, reader); return(value); }
uint RegisterTypeInternal(ref uint nextIdVariable, Type type, TypeSignatureCreator signatureCreator, ValueInstantiator instantiator, ValueWrapper wrapper) { RegisteredType registeredType = new RegisteredType(nextIdVariable, type, signatureCreator, instantiator, wrapper); _registeredTypes.Add(registeredType); nextIdVariable++; return(registeredType.Id); }
bool TryGetSpecialRegisteredType(Type baseType, out RegisteredType registeredType) { if (baseType.IsArray) { return(_registry.TryGetRegisteredType(_registry.ArrayId, out registeredType)); } registeredType = null; return(false); }
public ITypeSignature ResolveTypeSignature(Type type) { RegisteredType registeredType = GetRegisteredType(type); return(registeredType.TypeSignature); }
internal bool TryGetRegisteredType(Type type, out RegisteredType registeredType) { return(_registeredTypes.TryGetValue(type, out registeredType)); }