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

12 Коммитов

Автор SHA1 Сообщение Дата
Stephane Delcroix ad1b0d8e15
[XamlC] cache ImportReference and ImportMethodReference as they're slow (#2025)
* [XamlC] cache ImportReference and ImportMethodReference as they're slow
on ns1.4

* more ns14 fixes
2018-04-11 21:36:11 +02:00
Stephane Delcroix 463714be71 [XamlC] no longer use any reflection-base ImportReference (#1899)
* [XamlC] no longer use any reflection-base ImportReference

reflection-base ImportReference -- we were using MethodBase and Type --
are importing the types present in the reflection context, at the time
of compilation. As the compilation happens on netstandard2.0, and our
assembly can now be netstandard1.0 again, those imported types are
failing to be resolved.

this changes always import references based on the assembly, or the
assembly references.

it might, or might not, give us another speed bump.

* [XamlC] accomodate all kinds of netstandard versions

* reuse caching code
2018-02-26 11:07:18 +00:00
Stephane Delcroix af6f333790
[XamlC] Cache Resolve and ImportReference (#1875)
ImportReference with System.Reflection based argument is notoriously
slow on .NET. So we cache the results for those.

We do not cache the results for TypeReference, MethodReference or
FieldReference calls, as those are already fast (passthrough if the
reference was already imported), and they aren't valid as dictionary
keys (no concept of equatability).

While we're at it, we shave another few ms from Resolve(TypeReference)
calls as well.

As, on good days, it shaves up to 40% of XamlC time, we can say that it

 - fixes #1848
2018-02-13 22:27:02 +01:00
Stephane Delcroix 4fea85fa99 [XamlC] support valueTypes x:Arrays (#875) 2017-04-27 11:17:27 +02:00
Stephane Delcroix 53b1bbaf36 [XamlC] compile NullExtension markup (#750) 2017-02-17 09:57:31 +01:00
Stephane Delcroix d108dfe176 [XamlC] compiled TypeExtension (#739) 2017-02-13 09:08:21 +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 ccf784656d [XamlC] use TypeRefComparer to compare TypeRef from different assemblies (#710) 2017-01-25 17:03:30 +01:00
Stephane Delcroix 2c91b0facd [XamlC] import members on x:Static and factories (#642) 2016-12-23 08:50:02 +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 1076e73569 [XamlC] supports enum and consts in x:Static (#369) 2016-09-22 23:56:29 -07:00
Stephane Delcroix 775df09a3e [Xaml] x:Static in x:Arguments (#288)
* [Xaml] Support x:Static as x:Arguments

* [XamlC] allow x:Static in x:Arguments

* fix typo, remove commented code
2016-08-15 13:06:11 -07:00