private static void CompareField(string source1, ObjectDef def1, FieldDef field1, string source2, FieldDef field2, ICompareOutput output, bool detailedCheck) { if (field1.Attribute != field2.Attribute) { output.ComparisonFailed (source1, def1.Name + "." + field1.Name, "Attribute", field1.Attribute.ToString(), source2, field2.Attribute.ToString(), def1.SourceLocation); } if (field1.Sequence != field2.Sequence) { output.ComparisonWarning (source1, source2, "Differing sequence: " + def1.Name + "." + field1.Name + " src(" + field1.Sequence + ") target:(" + field2.Sequence + ")"); } if (detailedCheck) { // if( field1.Complex != field2.Complex ) // { // output.ComparisonFailed( source1, def1.Name + "." + field1.Name, "Complex", field1.Complex.ToString(), source2, field2.Complex.ToString(), def1.SourceLocation ); // } //System.Diagnostics.Debug.Assert( !(def1.Name == "FundingSource") ); if (!field1.FlagIntrinsicallyMatches(field2)) { output.ComparisonWarning (source1, source2, "Differing flags: " + def1.Name + "." + field1.Name + " src(" + field1.GetFlags() + ") target:(" + field2.GetFlags() + ")"); } if (!field1.FieldType.Equals(field2.FieldType)) { if (field1.FieldType.IsEnum && field2.FieldType.IsEnum) { output.ComparisonDebug (source2, source1, "differing class type: " + def1.Name + "." + field1.Name + " src(" + field1.FieldType + ") target:(" + field2.FieldType + ")"); } output.ComparisonWarning (source2, source1, "differing class type: " + def1.Name + "." + field1.Name + " src(" + field1.FieldType + ") target:(" + field2.FieldType + ")"); } } }
public bool FlagIntrinsicallyMatches(FieldDef counterpart) { if (fFlags == counterpart.fFlags) { return(true); } else if ((fFlags & FLAG_REPEATABLE) == 0 && ((fFlags & FLAG_REQUIRED) > 0 || (fFlags & FLAG_MANDATORY) > 0)) { return((counterpart.fFlags & FLAG_REQUIRED) > 0 || (counterpart.fFlags & FLAG_MANDATORY) > 0); } return(GetFlags() == counterpart.GetFlags()); }
private static void WriteFieldToDom(XmlElement fieldElement, FieldDef field) { fieldElement.SetAttribute("name", field.Name); FieldType type = field.FieldType; if (type.IsEnum) { fieldElement.SetAttribute("enum", type.Enum); } else { fieldElement.SetAttribute("type", type.MetadataType); } if (field.RenderAs != null) { fieldElement.SetAttribute("renderAs", field.RenderAs); } fieldElement.SetAttribute("flags", field.GetFlags()); if (field.Draft) { fieldElement.SetAttribute("draft", "true"); } if (field.Attribute && (field.fFlags & FieldDef.FLAG_NOT_A_KEY) > 0) { fieldElement.SetAttribute("key", "false"); } WriteDesc(fieldElement, field.Desc); }
private static void WriteFieldToDom( XmlElement fieldElement, FieldDef field ) { fieldElement.SetAttribute( "name", field.Name ); FieldType type = field.FieldType; if ( type.IsEnum ) { fieldElement.SetAttribute( "enum", type.Enum ); } else { fieldElement.SetAttribute( "type", type.MetadataType ); } if ( field.RenderAs != null ) { fieldElement.SetAttribute( "renderAs", field.RenderAs ); } fieldElement.SetAttribute( "flags", field.GetFlags() ); if ( field.Draft ) { fieldElement.SetAttribute( "draft", "true" ); } if ( field.Attribute && (field.fFlags & FieldDef.FLAG_NOT_A_KEY) > 0 ) { fieldElement.SetAttribute( "key", "false" ); } WriteDesc( fieldElement, field.Desc ); }
public bool FlagIntrinsicallyMatches( FieldDef counterpart ) { if (fFlags == counterpart.fFlags) { return true; } else if ((fFlags & FLAG_REPEATABLE) == 0 && ((fFlags & FLAG_REQUIRED) > 0 || (fFlags & FLAG_MANDATORY) > 0) ) { return ((counterpart.fFlags & FLAG_REQUIRED) > 0 || (counterpart.fFlags & FLAG_MANDATORY) > 0 ); } return GetFlags() == counterpart.GetFlags(); }