private void Generate(DeclarationMember m) { GenerateLineComment(m.Comment); if (m is PropertyMember) { Generate((PropertyMember)m); } else if (m is FunctionMemberBase) { Generate((FunctionMemberBase)m); } else if (m is RawDeclarationMember) { Generate((RawDeclarationMember)m); } else { throw new ArgumentOutOfRangeException(); } }
public static bool IsSame(this DeclarationMember m1, DeclarationMember m2) { if (m1 == null || m2 == null) { return(m1 == m2); } if (m1.GetType() != m2.GetType()) { return(false); } if (m1 is PropertyMember) { return(IsSame((PropertyMember)m1, (PropertyMember)m2)); } if (m1 is FunctionMemberBase) { return(IsSame((FunctionMemberBase)m1, (FunctionMemberBase)m2)); } if (m1 is RawDeclarationMember) { return(IsSame((RawDeclarationMember)m1, (RawDeclarationMember)m2)); } throw new NotImplementedException(); }