/// <summary> /// Deep-clone the code object. /// </summary> public override CodeObject Clone() { TypeConstraint clone = (TypeConstraint)base.Clone(); clone.CloneField(ref clone._type, _type); return(clone); }
/// <summary> /// Parse a <see cref="TypeParameterConstraint"/>. /// </summary> public static TypeParameterConstraint Parse(Parser parser, CodeObject parent) { TypeParameterConstraint constraint; switch (parser.TokenText) { case ClassConstraint.ParseToken: constraint = new ClassConstraint(parser, parent); break; case StructConstraint.ParseToken: constraint = new StructConstraint(parser, parent); break; case NewConstraint.ParseToken: constraint = new NewConstraint(parser, parent); break; default: constraint = new TypeConstraint(parser, parent); break; } return(constraint); }