summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs')
-rw-r--r--Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs68
1 files changed, 34 insertions, 34 deletions
diff --git a/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs b/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs
index c4744cc2..a8ef874a 100644
--- a/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs
+++ b/Xamarin.Forms.Build.Tasks/DebugXamlCTask.cs
@@ -1,4 +1,5 @@
using System;
+using System.Collections.Generic;
using System.IO;
using System.Linq;
using Mono.Cecil;
@@ -7,21 +8,20 @@ using Mono.Cecil.Rocks;
namespace Xamarin.Forms.Build.Tasks
{
- public class DebugXamlCTask : XamlCTask
+ public class DebugXamlCTask : XamlTask
{
- public override bool Execute()
+ public override bool Execute(IList<Exception> thrownExceptions)
{
- InMsBuild = true;
- Verbosity = Int32.MaxValue;
- LogLine(1, "Preparing debug code for xamlc");
- LogLine(1, "\nAssembly: {0}", Assembly);
+ Logger = Logger ?? new Logger(null, Verbosity);
+ Logger.LogLine(1, "Preparing debug code for xamlc");
+ Logger.LogLine(1, "\nAssembly: {0}", Assembly);
var resolver = new DefaultAssemblyResolver();
if (!string.IsNullOrEmpty(DependencyPaths))
{
foreach (var dep in DependencyPaths.Split(';'))
{
- LogLine(3, "Adding searchpath {0}", dep);
+ Logger.LogLine(3, "Adding searchpath {0}", dep);
resolver.AddSearchDirectory(dep);
}
}
@@ -31,7 +31,7 @@ namespace Xamarin.Forms.Build.Tasks
foreach (var p in paths)
{
var searchpath = Path.GetDirectoryName(p);
- LogLine(3, "Adding searchpath {0}", searchpath);
+ Logger.LogLine(3, "Adding searchpath {0}", searchpath);
resolver.AddSearchDirectory(searchpath);
// LogLine (3, "Referencing {0}", p);
// resolver.AddAssembly (p);
@@ -45,58 +45,58 @@ namespace Xamarin.Forms.Build.Tasks
foreach (var module in assemblyDefinition.Modules)
{
- LogLine(2, " Module: {0}", module.Name);
+ Logger.LogLine(2, " Module: {0}", module.Name);
foreach (var resource in module.Resources.OfType<EmbeddedResource>())
{
- LogString(2, " Resource: {0}... ", resource.Name);
+ Logger.LogString(2, " Resource: {0}... ", resource.Name);
string classname;
if (!resource.IsXaml(out classname))
{
- LogLine(2, "skipped.");
+ Logger.LogLine(2, "skipped.");
continue;
}
TypeDefinition typeDef = module.GetType(classname);
if (typeDef == null)
{
- LogLine(2, "no type found... skipped.");
+ Logger.LogLine(2, "no type found... skipped.");
continue;
}
var initComp = typeDef.Methods.FirstOrDefault(md => md.Name == "InitializeComponent");
if (initComp == null)
{
- LogLine(2, "no InitializeComponent found... skipped.");
+ Logger.LogLine(2, "no InitializeComponent found... skipped.");
continue;
}
var initCompRuntime = typeDef.Methods.FirstOrDefault(md => md.Name == "__InitComponentRuntime");
if (initCompRuntime == null) {
- LogLine(2, "no __InitComponentRuntime found... duplicating.");
+ Logger.LogLine(2, "no __InitComponentRuntime found... duplicating.");
initCompRuntime = DuplicateMethodDef(typeDef, initComp, "__InitComponentRuntime");
}
- // IL_0000: ldarg.0
- // IL_0001: callvirt instance void class [Xamarin.Forms.Core]Xamarin.Forms.ContentPage::'.ctor'()
- //
- // IL_0006: nop
- // IL_0007: ldarg.1
- // IL_0008: brfalse IL_0018
- //
- // IL_000d: ldarg.0
- // IL_000e: callvirt instance void class Xamarin.Forms.Xaml.XamlcTests.MyPage::InitializeComponent()
- // IL_0013: br IL_001e
- //
- // IL_0018: ldarg.0
- // IL_0019: callvirt instance void class Xamarin.Forms.Xaml.XamlcTests.MyPage::__InitComponentRuntime()
- // IL_001e: ret
+// IL_0000: ldarg.0
+// IL_0001: callvirt instance void class [Xamarin.Forms.Core]Xamarin.Forms.ContentPage::'.ctor'()
+//
+// IL_0006: nop
+// IL_0007: ldarg.1
+// IL_0008: brfalse IL_0018
+//
+// IL_000d: ldarg.0
+// IL_000e: callvirt instance void class Xamarin.Forms.Xaml.XamlcTests.MyPage::InitializeComponent()
+// IL_0013: br IL_001e
+//
+// IL_0018: ldarg.0
+// IL_0019: callvirt instance void class Xamarin.Forms.Xaml.XamlcTests.MyPage::__InitComponentRuntime()
+// IL_001e: ret
var altCtor =
typeDef.Methods.Where(
md => md.IsConstructor && md.Parameters.Count == 1 && md.Parameters[0].ParameterType == module.TypeSystem.Boolean)
.FirstOrDefault();
if (altCtor != null)
- LogString(2, " Replacing body of {0}.{0} (bool {1}) ... ", typeDef.Name, altCtor.Parameters[0].Name);
+ Logger.LogString(2, " Replacing body of {0}.{0} (bool {1}) ... ", typeDef.Name, altCtor.Parameters[0].Name);
else
{
- LogString(2, " Adding {0}.{0} (bool useCompiledXaml) ... ", typeDef.Name);
+ Logger.LogString(2, " Adding {0}.{0} (bool useCompiledXaml) ... ", typeDef.Name);
altCtor = new MethodDefinition(".ctor",
MethodAttributes.Public | MethodAttributes.HideBySig | MethodAttributes.SpecialName |
MethodAttributes.RTSpecialName, module.TypeSystem.Void);
@@ -127,17 +127,17 @@ namespace Xamarin.Forms.Build.Tasks
altCtor.Body = body;
if (!typeDef.Methods.Contains(altCtor))
typeDef.Methods.Add(altCtor);
- LogLine(2, "done.");
+ Logger.LogLine(2, "done.");
}
- LogLine(2, "");
+ Logger.LogLine(2, "");
}
- LogString(1, "Writing the assembly... ");
+ Logger.LogString(1, "Writing the assembly... ");
assemblyDefinition.Write(Assembly, new WriterParameters
{
WriteSymbols = DebugSymbols
});
- LogLine(1, "done.");
+ Logger.LogLine(1, "done.");
return true;
}