Exemple #1
0
		private static void DoError(XmlWriter writer, Violation violation, Location location)
		{
			writer.WriteStartElement("Error");
			
			DoLocation(writer, location);
			DoViolation(writer, violation);

			writer.WriteEndElement();
		}
Exemple #2
0
		public Location Location(MethodDefinition method, int offset, string details)
		{			
			var info = DoFindFileLine(method, offset);

			Location location = new Location();
			location.File = info.First;			
			location.Line = info.Second;
			location.Name = "Method: " + method.ToString();			
			location.Offset = offset;
			location.Details = details;
					
			return location;
		}
Exemple #3
0
		public Location Location(TypeDefinition type, string details)
		{
			var info = DoFindFileLine(type);

			Location location = new Location();			
			location.File = info.First;			
			location.Line = info.Second;
			location.Offset = -1;
			location.Name = "Type: " + type.FullName;
			location.Details = details;
								
			return 	location;
		}
Exemple #4
0
		private static void DoLocation(XmlWriter writer, Location location)
		{
			writer.WriteStartElement("Location");
			
			writer.WriteAttributeString("name", location.Name);
			writer.WriteAttributeString("details", location.Details);
			
			if (location.File != null)
			{
				writer.WriteAttributeString("file", location.File);
				
				if (location.Line >= 0)
					writer.WriteAttributeString("line", location.Line.ToString());

				if (location.Offset >= 0)
					writer.WriteAttributeString("offset", location.Offset.ToString());
			}
			
			writer.WriteEndElement();
		}
Exemple #5
0
		internal Error(Location location, Violation violation)
		{
			Location = location;
			Violation = violation;
		}
Exemple #6
0
		public void AssemblyFailed(AssemblyDefinition assembly, string checkID, string details)
		{
			if (assembly == null || !assembly.CustomAttributes.HasDisableRule(checkID))
			{
				Location loc = new Location();
				loc.Name = assembly != null ? string.Format("Assembly: {0}", assembly.Name.Name) : string.Empty;
				loc.Line = -1;
				loc.Offset = -1;
				loc.Details = details;
				
				Violation violation = ViolationDatabase.Get(checkID);
				m_errors.Add(new Error(loc, violation));
			}
		}