TypeInfo captures the minimal CLI information required by NewTypeMaker for a Python object that inherits from a CLI type.
Exemplo n.º 1
0
 protected NewTypeMaker(Tuple baseClasses, NewTypeInfo typeInfo)
 {
     this.baseType = typeInfo.BaseType;
     this.baseClasses = baseClasses;
     this.interfaceTypes = typeInfo.InterfaceTypes;
     this.slots = typeInfo.Slots;
 }
Exemplo n.º 2
0
        public override bool Equals(object obj)
        {
            NewTypeInfo other = obj as NewTypeInfo;

            if (other == null)
            {
                return(false);
            }


            if (_baseType.Equals(other._baseType) &&
                _interfaceTypes.Count == other._interfaceTypes.Count)
            {
                for (int i = 0; i < _interfaceTypes.Count; i++)
                {
                    if (!_interfaceTypes[i].Equals(other._interfaceTypes[i]))
                    {
                        return(false);
                    }
                }
                return(true);
            }
            return(false);
        }
Exemplo n.º 3
0
 private NewTypeMaker(NewTypeInfo typeInfo) {
     _baseType = typeInfo.BaseType;
     _interfaceTypes = typeInfo.InterfaceTypes;
 }
Exemplo n.º 4
0
        private static NewTypeMaker GetTypeMaker(Tuple bases, string typeName, NewTypeInfo ti)
        {
            if (IsInstanceType(ti.BaseType)) {
                return new NewSubtypeMaker(bases, ti);
            }

            return new NewTypeMaker(bases, ti);
        }
Exemplo n.º 5
0
 internal NewTypeMaker(PythonTuple baseClasses, NewTypeInfo typeInfo) {
     _baseType = typeInfo.BaseType;
     _baseClasses = baseClasses;
     _interfaceTypes = typeInfo.InterfaceTypes;
     _slots = typeInfo.Slots;
 }
Exemplo n.º 6
0
        private static NewTypeMaker GetTypeMaker(PythonTuple bases, NewTypeInfo ti) {
            if (IsInstanceType(ti.BaseType)) {
                return new NewSubtypeMaker(bases, ti);
            }

            return new NewTypeMaker(bases, ti);
        }
Exemplo n.º 7
0
 public NewSubtypeMaker(PythonTuple bases, NewTypeInfo ti)
     : base(bases, ti) {
 }