Граф коммитов

80 Коммитов

Автор SHA1 Сообщение Дата
Stephane Delcroix 84ba9edce4 [XamlG] supports x:FieldModifier (#878)
* [XamlG] supports x:FieldModifier

* adapt test as duplicate fields are now caught at XamlG time

* [XamlG] supports UWP values in addition of WPF's for x:FieldModifier
2017-04-28 10:39:16 +02:00
Stephane Delcroix 4fea85fa99 [XamlC] support valueTypes x:Arrays (#875) 2017-04-27 11:17:27 +02:00
Stephane Delcroix 9631ec2d8b [XamlC] Check param type in op_Implicit (#876) 2017-04-25 11:15:36 -07:00
Stephane Delcroix 8e567b9ad1 [XamlC] support nested types type declarations (#872) 2017-04-20 21:06:00 +02:00
Stephane Delcroix abdad979ce [XamlC] allow namespaces in {x:Type} markups (#867)
* [XamlC] allow namespaces in {x:Type} markups

* missing test
2017-04-20 20:53:13 +02:00
kingces95 0f57733a38 Do not emit implict_op if from/to are same type (#862) 2017-04-10 08:48:54 +02:00
Samantha Houts 5f2796e160 [Internal] Normalize Obsolete attributes (#860)
* [All] Normalize Obsolete attributes.

Make sure we include the version in which the member was deprecated and
consistent instructions for working around the deprecation, if
applicable.

* Update docs
2017-04-07 09:47:33 +02:00
Stephane Delcroix 1a7aea41ff More Xaml generic support (#857)
* [XamlG] allow x:Name on nested generic types

* [Xaml*] fail on undeclared xmlns

* [XamlC] allow x:Arguments on generic ctors
2017-04-06 14:37:59 -07:00
Stephane Delcroix 2d9eab4be8
[XamlC] update cecil to 0.10.0-beta5 2017-03-30 13:31:27 +02:00
Stephane Delcroix ebc978b696 [XamlC] accept assignment of Object from unboxed value types in SetValue (#832) 2017-03-22 16:53:24 +00:00
Stephane Delcroix 467c1befa1 Resource loading (#815)
* Resource Loader

* Replace XamlLoader API by ResourceLoader for the Previewer

* instruct generated IL to use the resourceLoader

* [docs] update docs

* oops

* [docs] fix docs
2017-03-16 12:09:22 -07:00
Stephane Delcroix dd04858661 [XamlC] update to cecil 0.10.0-b4 to better symbol detection (#791) 2017-03-01 15:25:30 +01:00
Stephane Delcroix 62056766a4 [Xaml] no longer require a ServiceProvider for Trigger and PropertyCo… (#771)
* [Xaml] no longer require a ServiceProvider for Trigger and PropertyCondition

* fix
2017-02-27 09:33:23 +01:00
Stephane Delcroix 53b1bbaf36 [XamlC] compile NullExtension markup (#750) 2017-02-17 09:57:31 +01:00
Stephane Delcroix c2a6bb05b1 [XamlC] complete the Setter/Trigger fix (#737) 2017-02-13 12:19:05 +01:00
Stephane Delcroix d108dfe176 [XamlC] compiled TypeExtension (#739) 2017-02-13 09:08:21 +01:00
Stephane Delcroix 3241fae11d Xaml empty service provider (#736)
* [Xaml] AcceptEmptyServiceProvider

* [XamlC] AcceptEmptyServiceProvider

* docs
2017-02-10 11:07:00 +01:00
Stephane Delcroix bfb5de5676 [XamlC] support portable pdb (#726) 2017-02-06 09:33:18 +01:00
Stephane Delcroix eacbc1acf4 [Xaml[C]] check for compatible types on op_implicit (#715)
* [Xaml[C]] check for compatible types on op_implicit

* fix merge issue
2017-02-02 15:19:03 +01:00
Stephane Delcroix c25a360efb [Xaml[C]] throw meaningful exception while trying to set the content … (#714)
* [Xaml[C]] throw meaningful exception while trying to set the content of a property without ContentPropertyAttribute

* fix test
2017-02-02 11:14:35 +01:00
Stephane Delcroix fa0882114d [XamlC] Produce correct mdb files (#699)
* [XamlC] change MockCompile (internal) API

* [XamlC] fix debugging in unit test project

* f

* [XamlC] update cecil to 0.10.0-beta1-v2

* beta2

* avoid method duplication

* [XamlC] force loading MdbReader and Writer

* [XamlC] force use the writer in the other task too

* [XamlC] fix test and test code generator

* try building this

* [XamlC] Ensure InitializeComponent is correctly routed

* fix
2017-02-02 10:57:50 +01:00
Stephane Delcroix d598d5efe3 [Xaml[C]] cast to BindingBase before SetBinding() (#709) 2017-02-01 17:03:53 +01:00
Stephane Delcroix 1d3e7cf380 [XamlC] skip static .cctor while looking for default .ctor (#718) 2017-01-27 16:32:45 -07:00
Stephane Delcroix ccf784656d [XamlC] use TypeRefComparer to compare TypeRef from different assemblies (#710) 2017-01-25 17:03:30 +01:00
Stephane Delcroix ca7f2caf57 [XamlC] allow xml-elements as Setter/Trigger Values (#684) 2017-01-25 15:09:54 +01:00
Stephane Delcroix f30aa8ae2c [Xaml[C]] Do not instantiate DataTemplate Content at parsing time (#683)
* [Xaml] rename VisitChildrenFirst

* [Xaml] rework SkipChildren in XamlNode

* [Xaml] fix 45179

* fix
2017-01-25 14:47:27 +01:00
Stephane Delcroix 3701720f0d [XamlC] compile ListStringTypeConverter (#660)
* [XamlC] compile ListStringTypeConverter

* remove debug statements
2017-01-18 13:04:13 +01:00
Stephane Delcroix 32dab1d3c7 [XamlC] detect duplicate x:Name at compile time (#655)
* [XamlC] detect duplicate x:Name at compile time

* invoking methods with the right arguments produces better results
2016-12-30 09:58:48 -07:00
Stephane Delcroix c34016dc84 Xamlc compile data triggers (#648)
* [Xaml] DataTrigger and PropertyCondition no longer use a ServiceProvider

* [XamlC] avoid generating ServiceProvider for unused ProvideValue

* fix tests
2016-12-23 10:21:30 +01:00
Stephane Delcroix b96df000db [Xaml] support short Properties for PropertyCondition (#645) 2016-12-23 08:50:19 +01:00
Stephane Delcroix 2c91b0facd [XamlC] import members on x:Static and factories (#642) 2016-12-23 08:50:02 +01:00
Stephane Delcroix 859b058874 Xamlc compiled trigger (#629)
* [XamlC] compiled Trigger

* remove file header

* name bool parameters
2016-12-14 13:50:15 +01:00
Stephane Delcroix d4792dc98d [XamlC] Allow compilation of IValueProviders (#622)
* [XamlC] Allow compilation of IValueProviders

`IValueProvider`s tagged with the appropriate attribute will be bypassed
and the compiled version, if found, will be used.

This first version contains a compiled version of Setter's
IValueProvider and it already reduces the amount of generated IL by 39%
in, e.g. StyleTests.

It's a huge gain because XamlC no longer have to generate
ServiceProviders for those, so the methodbody is smaller, takes less
time to jit, less time to execute and nothing is invoked at runtime,
which probably saves a tons of time as well, as most IValueProvider
implementation heavily uses reflection.

* name bool parameters
2016-12-14 13:25:42 +01:00
Stephane Delcroix 4625f6976a [XamlC] remove unused variables (#620) 2016-12-13 16:41:41 +01:00
Stephane Delcroix 6112526432 [XamlC] Compile TypeTypeConverter (#615) 2016-12-12 22:02:37 +01:00
Stephane Delcroix 354e27c096 [XamlC] Optimize Stloc/Ldloc (#614) 2016-12-12 21:49:05 +01:00
Stephane Delcroix e45bce1a64 [XamlC] Box valueTypes on Add() (#624)
This doesn't happen often, and I haven't found any valid XAML file out
there requiring this, but in the case of 49307, it at least generates
valid IL, which then fails with a NRE as this is the nature of callvirt.
2016-12-12 21:03:30 +01:00
Stephane Delcroix 4a86f9481a [XamlC] optimize Datatemplate IL as well (#612) 2016-12-12 11:13:41 +01:00
Stephane Delcroix 22bdca3233 [XamlC] fix loading ulongs, optimize bytecode for ulongs (#611) 2016-12-12 10:57:01 +01:00
Stephane Delcroix f0ea0fa4bf [XamlC] compile ThicknessTypeConverter (#603) 2016-12-12 10:35:42 +01:00
Stephane Delcroix 1c796c3a9e [XamlC] support setting values on ValueTypes (#596) 2016-12-12 10:14:37 +01:00
Stephane Delcroix 7851541ab6 [Xaml[C]] support op_implicit declared on Target (#585) 2016-12-07 11:35:32 +01:00
Stephane Delcroix 8181e6d4cb [XamlC] Type ref tests, and fixes (#569)
* [XamlC] Add tests for TypeRefExts, fix and enhancements

* [XamlC] more fixes, more tests

* Fix failing test
2016-12-07 10:57:43 +01:00
Stephane Delcroix f9a44ed5ba [XamlC] Compile ContraintTypeConverters (#592)
* [XamlC] Compile ContraintTypeConverters

* fix error message
2016-12-05 13:40:12 +01:00
Stephane Delcroix 1a5bead2f2 [XamlC] drop ICSharpCode.Decompiler (#586)
* [XamlC] drop ICSharpCode.Decompiler

* update nuspec

* fix typo
2016-12-05 13:31:31 +01:00
Stephane Delcroix 17280b260f [Xaml] revert namespace change for XmlnsDefAttr (#610)
* [Xaml] revert namespace change for XmlnsDefAttr

* fix
2016-12-05 10:32:28 +01:00
Stephane Delcroix 4f4fae659c [Xaml] change namespace for [XmlnsDef] and make it internal (#557)
* [Xaml] change namespace for [XmlnsDef] and make internal

* fix docs
2016-12-04 22:13:54 +01:00
Stephane Delcroix 39f2deb5e0 [Xaml] support arrays as x:Arguments (#545)
* [Xaml] port some FactoryMethod tests to XamlC

* [Xaml] support array parameters in factory ctors

* [XamlC] support arrays as x:Arguments

* fix build
2016-12-04 22:08:11 +01:00
Stephane Delcroix e413e0cf33 [XamlC] use op_implicit where we should (#580)
* [XamlC] (passing) test for 48242

* [XamlC] (failing) test for 48242

* [XamlC] more op_implicit conversions

* additional test

* fix rebase
2016-12-01 22:34:39 +01:00
Stephane Delcroix 00b652cd43 [Xaml] support non-int enums (#575) 2016-12-01 22:26:05 +01:00