예제 #1
0
        void CompareBaseTypes(ComparisonNode parent, ICompHasBaseType reference_type, ICompHasBaseType target_type)
        {
            if (reference_type.GetBaseType() != target_type.GetBaseType())
            {
                HandleError(parent, String.Format("reference has base class of {0}, target has base class of {1}",
                                                  reference_type.GetBaseType(),
                                                  target_type.GetBaseType()));
            }

            if (reference_type.IsAbstract != target_type.IsAbstract)
            {
                string ref_mod = (reference_type.IsAbstract && reference_type.IsSealed) ? "static" : "abstract";
                string tar_mod = (target_type.IsAbstract && target_type.IsSealed) ? "static" : "abstract";

                HandleError(parent, String.Format("reference is {0} {2}, target is {1} {3}",
                                                  reference_type.IsAbstract ? null : "not", target_type.IsAbstract ? null : "not",
                                                  ref_mod, tar_mod));
            }
            else if (reference_type.IsSealed != target_type.IsSealed)
            {
                string ref_mod = (reference_type.IsAbstract && reference_type.IsSealed) ? "static" : "sealed";
                string tar_mod = (target_type.IsAbstract && target_type.IsSealed) ? "static" : "sealed";

                HandleError(parent, String.Format("reference is {0} {2}, target is {1} {3}",
                                                  reference_type.IsSealed ? null : "not", target_type.IsSealed ? null : "not",
                                                  ref_mod, tar_mod));
            }
        }
예제 #2
0
		void CompareBaseTypes (ComparisonNode parent, ICompHasBaseType reference_type, ICompHasBaseType target_type)
		{
			if (reference_type.GetBaseType() != target_type.GetBaseType()) {
				parent.AddError (String.Format ("reference has base class of {0}, target has base class of {1}",
								reference_type.GetBaseType(),
								target_type.GetBaseType()));
			}
			
			if (reference_type.IsAbstract != target_type.IsAbstract) {
				string ref_mod = (reference_type.IsAbstract && reference_type.IsSealed) ? "static" : "abstract";
				string tar_mod = (target_type.IsAbstract && target_type.IsSealed) ? "static" : "abstract";

				parent.AddError (String.Format ("reference is {0} {2}, target is {1} {3}",
								reference_type.IsAbstract ? null : "not", target_type.IsAbstract ? null : "not",
								ref_mod, tar_mod));
			} else if (reference_type.IsSealed != target_type.IsSealed) {
				string ref_mod = (reference_type.IsAbstract && reference_type.IsSealed) ? "static" : "sealed";
				string tar_mod = (target_type.IsAbstract && target_type.IsSealed) ? "static" : "sealed";
				
				parent.AddError (String.Format ("reference is {0} {2}, target is {1} {3}",
								reference_type.IsSealed ? null : "not", target_type.IsSealed ? null : "not",
								ref_mod, tar_mod));
			}
		}