Browse Source

Fix compile errors.

pull/7679/head
Steven Kirk 5 years ago
parent
commit
3c5a7caf74
  1. 4
      src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs
  2. 2
      src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs
  3. 4
      src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs

4
src/Avalonia.Build.Tasks/XamlCompilerTaskExecutor.cs

@ -247,7 +247,8 @@ namespace Avalonia.Build.Tasks
var populateBuilder = classTypeDefinition == null ? var populateBuilder = classTypeDefinition == null ?
builder : builder :
typeSystem.CreateTypeBuilder(classTypeDefinition); typeSystem.CreateTypeBuilder(classTypeDefinition);
compiler.Compile(parsed, contextClass, compiler.Compile(parsed,
contextClass,
compiler.DefinePopulateMethod(populateBuilder, parsed, populateName, compiler.DefinePopulateMethod(populateBuilder, parsed, populateName,
classTypeDefinition == null), classTypeDefinition == null),
buildName == null ? null : compiler.DefineBuildMethod(builder, parsed, buildName, true), buildName == null ? null : compiler.DefineBuildMethod(builder, parsed, buildName, true),
@ -255,6 +256,7 @@ namespace Avalonia.Build.Tasks
true), true),
(closureName, closureBaseType) => (closureName, closureBaseType) =>
populateBuilder.DefineSubType(closureBaseType, closureName, false), populateBuilder.DefineSubType(closureBaseType, closureName, false),
(s, returnType, parameters) => builder.DefineDelegateSubType(s, false, returnType, parameters),
res.Uri, res res.Uri, res
); );

2
src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/AvaloniaXamlIlLanguageParseIntrinsics.cs

@ -201,7 +201,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions
if (type.Equals(types.Classes)) if (type.Equals(types.Classes))
{ {
var classes = text.Split(' '); var classes = text.Split(' ');
var classNodes = classes.Select(c => new XamlAstTextNode(node, c, types.XamlIlTypes.String)).ToArray(); var classNodes = classes.Select(c => new XamlAstTextNode(node, c, type: types.XamlIlTypes.String)).ToArray();
result = new AvaloniaXamlIlAvaloniaListConstantAstNode(node, types, types.Classes, types.XamlIlTypes.String, classNodes); result = new AvaloniaXamlIlAvaloniaListConstantAstNode(node, types, types.Classes, types.XamlIlTypes.String, classNodes);
return true; return true;

4
src/Markup/Avalonia.Markup.Xaml.Loader/CompilerExtensions/Transformers/AvaloniaXamlIlSelectorTransformer.cs

@ -77,7 +77,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers
throw new XamlParseException($"Cannot find '{property.Property}' on '{type}", node); throw new XamlParseException($"Cannot find '{property.Property}' on '{type}", node);
if (!XamlTransformHelpers.TryGetCorrectlyTypedValue(context, if (!XamlTransformHelpers.TryGetCorrectlyTypedValue(context,
new XamlAstTextNode(node, property.Value, context.Configuration.WellKnownTypes.String), new XamlAstTextNode(node, property.Value, type: context.Configuration.WellKnownTypes.String),
targetProperty.PropertyType, out var typedValue)) targetProperty.PropertyType, out var typedValue))
throw new XamlParseException( throw new XamlParseException(
$"Cannot convert '{property.Value}' to '{targetProperty.PropertyType.GetFqn()}", $"Cannot convert '{property.Value}' to '{targetProperty.PropertyType.GetFqn()}",
@ -118,7 +118,7 @@ namespace Avalonia.Markup.Xaml.XamlIl.CompilerExtensions.Transformers
.GetAvaloniaPropertyType(targetPropertyField, context.GetAvaloniaTypes(), node); .GetAvaloniaPropertyType(targetPropertyField, context.GetAvaloniaTypes(), node);
if (!XamlTransformHelpers.TryGetCorrectlyTypedValue(context, if (!XamlTransformHelpers.TryGetCorrectlyTypedValue(context,
new XamlAstTextNode(node, attachedProperty.Value, context.Configuration.WellKnownTypes.String), new XamlAstTextNode(node, attachedProperty.Value, type: context.Configuration.WellKnownTypes.String),
targetPropertyType, out var typedValue)) targetPropertyType, out var typedValue))
throw new XamlParseException( throw new XamlParseException(
$"Cannot convert '{attachedProperty.Value}' to '{targetPropertyType.GetFqn()}", $"Cannot convert '{attachedProperty.Value}' to '{targetPropertyType.GetFqn()}",

Loading…
Cancel
Save