public override bool Equals(object obj) { InstantiationTypeSignature other = obj as InstantiationTypeSignature; if (other == null) { return(false); } if (_args.Length != other._args.Length || !Object.Equals(_typeDef, other._typeDef)) { return(false); } for (uint iArg = 0; iArg < _args.Length; iArg++) { if (!Object.Equals(_args[iArg], other._args[iArg])) { return(false); } } return(true); }
public Vertex GetInstantiationTypeSignature(Vertex typeDef, Vertex[] arguments) { InstantiationTypeSignature sig = new InstantiationTypeSignature(typeDef, arguments); return(Unify(sig)); }