Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-13Add the approved span marshallers and remove the v1 model (#71989)Jeremy Koritzinsky
* Add SpanMarshaller and ReadOnlySpanMarshaller. Move the new attribute types to System.Runtime ref assembly * Remove pinning of the managed type. The new model isn't supposed to support this and it was breaking the span marshallers. * Delete the V1 marshalling model You served us well, but your time has passed. * Remove obsoleted unit tests. Rename type usages in JS generator * Fix test build * PR feedback and add doc comments. * Fix some extraneous usages of the v1 API in tests. * Remove test of the managed type's GetPinnableReference method. We don't support this with the v2 system.
2022-07-12Move ArrayMarshaller and PointerArrayMarshaller to the v2 design (#71978)Jeremy Koritzinsky
2022-07-06Update design and expose new attributes for the CustomTypeMarshaller support ↵Jeremy Koritzinsky
(#71682)
2022-07-01Basic support for stateless linear collection marshalling (#71473)Elinor Fung
Basic stateless linear collection marshalling for blittable elements Not handled: - caller-allocated buffer - guaranteed unmarshal - pinnable reference - non-blittable element marshalling - element scenarios on custom marshallers
2022-06-29Update to use CustomMarshaller entry point type (#71398)Elinor Fung
2022-06-25Custom marshallers v2 usage (#71238)Jeremy Koritzinsky
* Enable using the new generator attributes before the new API shapes are approved * Disable the diagnostic that verifies that a marshaller type has the v1 attribute. * Convert some custom type marshallers to the v2 design. Convert as many of the marshallers as possible to their correct representation with the currently implemented feature set. This PR does not convert marshallers that can be represented with the new design but need more features to be accurately represented.
2022-06-23[LibraryImportGenerator] Basic stateless value marshaller support (#71116)Elinor Fung
- Separate out previous custom marshalling support into _V1 classes - Add basic support for new stateless marshaller shape for values This only adds really basic support for stateless value marshalling. It doesn't deal with support for caller-allocated buffer, pinning, guaranteed unmarshal, or linear collection marshalling.
2022-05-05Move `CustomTypeMarshaller` APIs to ↵Elinor Fung
`System.Runtime.InteropServices.Marshalling` (#68842)
2022-04-19Expose ArrayMarshaller and PointerArrayMarshaller (#68173)Elinor Fung
2022-03-26Expose the custom type marshalling types for source-generated interop. (#67052)Jeremy Koritzinsky
Co-authored-by: Elinor Fung <elfung@microsoft.com>
2022-03-23Add the CustomTypeMarshallerAttribute type to make it easier to identify ↵Jeremy Koritzinsky
marshaller types (#65591)
2022-03-16Expose `LibraryImportAttribute` (#66434)Elinor Fung
2022-03-10Rename `GeneratedDllImportAttribute` -> `LibraryImportAttribute` (#66307)Elinor Fung
2022-03-04Rename `DllImportGenerator` project to `LibraryImportGenerator` (#66029)Elinor Fung
2022-02-24Update GeneratedDllImportAttribute CharSet -> StringMarshalling (#65544)Elinor Fung
2022-01-04[DllImportGenerator] Update buffer size field for custom marshalling (#63316)Elinor Fung
2021-11-20Update `GetPinnableReference()` usage in multi-step custom type marshalling ↵Jeremy Koritzinsky
(#61539) * Update GetPinnableReference() usage in multi-step custom tyep marshalling Change GetPinnableReference() on a marshaller type to be used as a side effect when marshalling in all cases when a fixed() statement is usable. Use the Value property getter to get the value to pass to native in all cases. Update our marshallers and tests to follow this design update. * Apply suggestions from code review Co-authored-by: Aaron Robinson <arobins@microsoft.com> * Don't emit the assingment to the Value property in the Unmarshal stage when using [Out] * Fix the unmarshalling conditions * Fix Utf16StringMarshaller to correctly handle the "null pointer" case now that we're using spans internally for storage in all cases. Co-authored-by: Aaron Robinson <arobins@microsoft.com>
2021-10-20Make unit tests for DllImportGenerator build/run in CI (#60598)Elinor Fung
2021-09-25Add license banner to source. (#59586)Aaron Robinson
2021-09-23Hook up DllImportGenerator to the libraries build (excluding solution file ↵Jeremy Koritzinsky
regeneration). Move System.Runtime.InteropServices unit tests to a subdirectory.
2021-09-11Refactor DllImportGenerator project for easier extensibility ↵Jeremy Koritzinsky
(dotnet/runtimelab#1119) Commit migrated from https://github.com/dotnet/runtimelab/commit/9ac16c6c9f47100ea91db6231ad47f4a8d6ca946
2021-09-08Move to using the new Roslyn IIncrementalGenerator API for better in-VS ↵Jeremy Koritzinsky
performance (dotnet/runtimelab#1374) Commit migrated from https://github.com/dotnet/runtimelab/commit/90c617d39a9775e8eb0c5d4aba2f0cc6932bfb87
2021-06-12Implement marshallers for Span and ReadOnlySpan (dotnet/runtimelab#1222)Jeremy Koritzinsky
* Implement marshallers for Span/ReadOnlySpan. * Add tests for span marshalling. * Remove unused code. * PR feedback. * Use dotnet/runtime style. * Fix allocation size in ReadOnlySpanMarshaller<T>. Commit migrated from https://github.com/dotnet/runtimelab/commit/e9876f36bda716892f6a3878b896991e1be02b81
2021-06-09Implement collection marshaller spec (dotnet/runtimelab#1197)Jeremy Koritzinsky
Commit migrated from https://github.com/dotnet/runtimelab/commit/b3a0ead76a03a92af3b87dd5486563728fb5ecf8
2021-04-30Switch to the now-built-in Marshal APIs from MarshalEx (dotnet/runtimelab#1042)Jeremy Koritzinsky
Commit migrated from https://github.com/dotnet/runtimelab/commit/26dec3e1ca3fac21946bfbcc3031bd2017929c10
2021-04-28Merge latest standalone-template into feature/DllImportGenerator ↵Elinor Fung
(dotnet/runtimelab#1031) * Fix runsettings generation * Update standalone-template for recent infrastructure changes (dotnet/runtimelab#1024) * Update to Arcade 6.0.0-beta.21226.16 * Update dependency for using custom runtime version * Update README * Don't use custom runtime in Ancillary.Interop Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com> Commit migrated from https://github.com/dotnet/runtimelab/commit/57b11ae82fd1f4fbde9a98e415082db6087d0142
2021-04-24Rename MarshalEx.SetLastWin32Error -> SetLastPInvokeError ↵Elinor Fung
(dotnet/runtimelab#1007) Commit migrated from https://github.com/dotnet/runtimelab/commit/82735dd0fef4886ae2f0886267ef30822e17ee8a
2021-01-20Update SafeHandle codegen to match the approved API. (dotnet/runtimelab#570)Jeremy Koritzinsky
Commit migrated from https://github.com/dotnet/runtimelab/commit/0c64a2aa529dff4ef3ad15b17663b5314f55145b
2020-12-07Update prefix of packages and published assemblies (dotnet/runtimelab#423)Aaron Robinson
* Prefix all packages and and published assemblies with "Microsoft.Interop.*" Commit migrated from https://github.com/dotnet/runtimelab/commit/e87c78ea898614339f7f043791f1af07d1abf785
2020-11-30Handle SetLastError=true (dotnet/runtimelab#360)Elinor Fung
Commit migrated from https://github.com/dotnet/runtimelab/commit/b36b0b8adc4d5c3e7f2927381ea800444f870f96
2020-11-21Add DynamicallyAccessedMembers attribute to CreateSafeHandle API ↵Elinor Fung
(dotnet/runtimelab#373) Commit migrated from https://github.com/dotnet/runtimelab/commit/e4bdc07d100804a08b00c5419e259ba2ef7a211f
2020-10-20Enable nullability checks across DllImportGenerator (dotnet/runtimelab#213)Jeremy Koritzinsky
Commit migrated from https://github.com/dotnet/runtimelab/commit/7b2591d6531af56420092d0ae136911ae507e218
2020-10-06SafeHandle marshalling (dotnet/runtimelab#133)Jeremy Koritzinsky
Co-authored-by: Jan Kotas <jkotas@microsoft.com> Commit migrated from https://github.com/dotnet/runtimelab/commit/2cde5aa726f1b0ad08fd774d0bf84bd9eb5f7e62
2020-09-01Add the struct marshalling attributes to Ancillary.Interop and add an ↵Jeremy Koritzinsky
analyzer that validates manual usage. (dotnet/runtimelab#61) Co-authored-by: Elinor Fung <elfung@microsoft.com> Commit migrated from https://github.com/dotnet/runtimelab/commit/05d6ef236f7bd698870b17e8abb1b7c6bb130198
2020-08-05Special case boolean/char types in managed/native signatures. ↵Aaron Robinson
(dotnet/runtimelab#47) Commit migrated from https://github.com/dotnet/runtimelab/commit/39ce2af428817677201f0f2fdd79c2a3bfddcefe
2020-08-04Collect DllImport details through Roslyn semantic model (dotnet/runtimelab#36)Aaron Robinson
* Collect DllImport details through Roslyn semantic model Create an assembly that provides the GeneratedDllImportAttribute which allows use of the semantic model. * Collect MarshalAsAttribute data * Collect MarshalAsAttribute data Convert P/Invoke centric data structures to handle positional type information for managed/unmanaged scenarios. Commit migrated from https://github.com/dotnet/runtimelab/commit/21e634efd416d3457d171d0db6efe505b48c711d