Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 public RegisteredType(uint id, Type type, TypeSignatureCreator signatureCreator, ValueInstantiator instantiator, ValueWrapper wrapper)
 {
     Id            = id;
     Type          = type;
     TypeSignature = signatureCreator(id, type);
     Instantiator  = instantiator;
     Wrapper       = wrapper;
 }
Esempio n. 3
0
        uint RegisterBuiltInType(Type type, TypeSignatureCreator signatureCreator, ValueInstantiator instantiator, ValueWrapper wrapper)
        {
            if (_nextBuiltInType > MaxBuiltInTypeId)
            {
                throw new InvalidOperationException();
            }

            return(RegisterTypeInternal(ref _nextBuiltInType, type, signatureCreator, instantiator, wrapper));
        }