Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge feature/use-dllimport-generator to main #59579

Merged
merged 180 commits into from
Oct 18, 2021
Merged

Commits on Jul 13, 2020

  1. Initial scaffolding for DllImportGenerator

      - Includes identification of GeneratedDllImportAttribute
      - Generation of enclosing types for partial methods
      - Basic tests for compilation of generation code
    
    
    Commit migrated from dotnet/runtimelab@56076d3
    AaronRobinsonMSFT committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    d60daba View commit details
    Browse the repository at this point in the history
  2. Add GENERATE_FORWARDER define to demonstrate the ability to forward

      calls directly to the real DllImport from the generated one.
    
    Add test for handling RefKind (i.e. in, ref, out).
    
    
    Commit migrated from dotnet/runtimelab@3670643
    AaronRobinsonMSFT committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    18ed2b4 View commit details
    Browse the repository at this point in the history
  3. Check for code snippet compilation errors

     - User defined source needs to be "correct"
    
    
    Commit migrated from dotnet/runtimelab@f9f705c
    AaronRobinsonMSFT committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    1021cf0 View commit details
    Browse the repository at this point in the history
  4. Add example that runs on Windows to the demo project.

    It is interesting to step into the generated method and observe the UX.
    
    
    Commit migrated from dotnet/runtimelab@35c9adc
    AaronRobinsonMSFT committed Jul 13, 2020
    Configuration menu
    Copy the full SHA
    c2a28f6 View commit details
    Browse the repository at this point in the history
  5. Update readme with existing experiments (dotnet/runtimelab#8)

    * Update readme with existing experiments
    * Add "CreateAnExperiment.md"
    
    Commit migrated from dotnet/runtimelab@542dd85
    AaronRobinsonMSFT authored Jul 13, 2020
    Configuration menu
    Copy the full SHA
    8968ab3 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2020

  1. Configuration menu
    Copy the full SHA
    9106576 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2020

  1. Add testing for attribute discovery in cases where the user prefixes

    the attribute name.
    
    Add test cases for compilation failures.
    
    
    Commit migrated from dotnet/runtimelab@d2f6f5a
    AaronRobinsonMSFT committed Jul 28, 2020
    Configuration menu
    Copy the full SHA
    81a7a3d View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2020

  1. Merge pull request dotnet/runtimelab#35 from AaronRobinsonMSFT/failur…

    …e_test_case
    
    Failure test cases.
    
    Commit migrated from dotnet/runtimelab@48b8361
    AaronRobinsonMSFT authored Jul 29, 2020
    Configuration menu
    Copy the full SHA
    22bcd43 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2020

  1. Collect DllImport details through Roslyn semantic model (dotnet/runti…

    …melab#36)
    
    * 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 dotnet/runtimelab@21e634e
    AaronRobinsonMSFT authored Aug 3, 2020
    Configuration menu
    Copy the full SHA
    9968397 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2020

  1. Configuration menu
    Copy the full SHA
    c58dead View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2020

  1. Add struct marshalling design doc. (dotnet/runtimelab#45)

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@e50c8c2
    jkoritzinsky authored Aug 17, 2020
    Configuration menu
    Copy the full SHA
    83fbd4e View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2020

  1. Add the struct marshalling attributes to Ancillary.Interop and add an…

    … analyzer that validates manual usage. (dotnet/runtimelab#61)
    
    Co-authored-by: Elinor Fung <elfung@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@05d6ef2
    jkoritzinsky authored Sep 1, 2020
    Configuration menu
    Copy the full SHA
    0f74067 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2020

  1. Configuration menu
    Copy the full SHA
    1104711 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2020

  1. Configuration menu
    Copy the full SHA
    547a0d1 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2020

  1. Configuration menu
    Copy the full SHA
    6c25cca View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2020

  1. Configuration menu
    Copy the full SHA
    d47569d View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2020

  1. Configuration menu
    Copy the full SHA
    4fce845 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2020

  1. Configuration menu
    Copy the full SHA
    d415807 View commit details
    Browse the repository at this point in the history
  2. Consume DNNE for testing (dotnet/runtimelab#124)

    * Use DNNE to create native testing assets
    
    Instead of relying on a native project use DNNE to generate
    native exports for managed binaries. This allows us to avoid
    writing native code for testing code generation.
    
    * Add *.binlog to .gitignore
    
    * Force 'UseAppHost' to fix scenario on macOS.
    
    * Consume support in DNNE for adding native binary to project.
    
    
    Commit migrated from dotnet/runtimelab@415c6ca
    AaronRobinsonMSFT authored Sep 26, 2020
    Configuration menu
    Copy the full SHA
    ced0268 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2020

  1. Configuration menu
    Copy the full SHA
    6041006 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ff96442 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2020

  1. Update CreateAnExperiment.md

    Commit migrated from dotnet/runtimelab@8497669
    jkotas authored Oct 1, 2020
    Configuration menu
    Copy the full SHA
    40a5e2b View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2020

  1. SafeHandle marshalling (dotnet/runtimelab#133)

    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@2cde5aa
    jkoritzinsky authored Oct 5, 2020
    Configuration menu
    Copy the full SHA
    ea4e979 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2020

  1. Create test projects (dotnet/runtimelab#149)

    * Rename DllImportGenerator.Test to DllImportGenerator.UnitTests
    
    * Create an integration tests project.
    Update the SLN file.
    Remove SafeHandle test from Demo project.
    
    * Update readme.md
    Make the Demo project a user friendly example for learning about the methodology.
    
    Commit migrated from dotnet/runtimelab@778ecfa
    AaronRobinsonMSFT authored Oct 8, 2020
    Configuration menu
    Copy the full SHA
    04d8328 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2020

  1. Boolean and Delegate tests (dotnet/runtimelab#152)

    * Boolean and Delegate tests
    
    Updated to DNNE 1.0.12 with support for C# function pointers.
    Renamed CBoolMarshaller to ByteBoolMarshaller.
    Added integration tests for all bool marshaller types.
    Added integration tests for delegates.
    Style nits.
    
    Commit migrated from dotnet/runtimelab@6c980df
    AaronRobinsonMSFT authored Oct 9, 2020
    Configuration menu
    Copy the full SHA
    09e1a9d View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2020

  1. Configuration menu
    Copy the full SHA
    653aeb3 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. Add Char marshaller (dotnet/runtimelab#212)

    * Support for char marshaller.
    
    Avoid supporting the built-in semantics for ANSI marshalling of char.
    Propagate the CharSet down to the marshallers.
    Convert the MarshallingGenerators.TryCreate() to a MarshallingGenerators.Create() function throwing an exception.
    
    * Add a compatibility document.
    
    * Add testing for char marshalling.
    
    Commit migrated from dotnet/runtimelab@be3f4e8
    AaronRobinsonMSFT authored Oct 14, 2020
    Configuration menu
    Copy the full SHA
    d4393f8 View commit details
    Browse the repository at this point in the history
  2. Fix warnings for analyzer release (dotnet/runtimelab#227)

    * Fix some warnings about analyzer authoring
    
    Commit migrated from dotnet/runtimelab@c89fc41
    AaronRobinsonMSFT authored Oct 14, 2020
    Configuration menu
    Copy the full SHA
    9e6fb96 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    25be33e View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2020

  1. Configuration menu
    Copy the full SHA
    6bb8819 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2020

  1. Configuration menu
    Copy the full SHA
    791a2a6 View commit details
    Browse the repository at this point in the history
  2. Disable nullable checks in integration tests (dotnet/runtimelab#253)

    Fix nullability warnings in generator
    
    Commit migrated from dotnet/runtimelab@7bb0f19
    elinor-fung authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    b57e347 View commit details
    Browse the repository at this point in the history
  3. Remove support for the custom marshaller on MarshalAsAttribute. (dotn…

    …et/runtimelab#255)
    
    * Remove support for the custom marshaller on MarshalAsAttribute.
    
    * Update compat document.
    
    Commit migrated from dotnet/runtimelab@5a0e1d9
    AaronRobinsonMSFT authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    8f84066 View commit details
    Browse the repository at this point in the history
  4. Add initial blittable struct test (dotnet/runtimelab#230)

    Create SharedTypes project to shared between NativeExports
      and integration tests.
    Update DNNE to 1.0.13 for custom native argument signature support.
    
    Commit migrated from dotnet/runtimelab@acff106
    AaronRobinsonMSFT authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    c5d750f View commit details
    Browse the repository at this point in the history
  5. Add standalone template for experiments that don't need runtime feat…

    …ures (dotnet/runtimelab#238)
    
    * Add arcade common files
    
    * Add standalone library template for experiments that don't need runtime features
    
    * Add documentation to README.md
    
    * PR Feedback.
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    
    * Quick fixups in README.md
    
    * PR Feedback
    
    * Simplify yml templates
    
    Co-authored-by: Jan Kotas <jkotas@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@0809d81
    safern authored Oct 21, 2020
    Configuration menu
    Copy the full SHA
    e3a0ede View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2020

  1. Factor out some nullability uses (dotnet/runtimelab#259)

    * Factor out some nullability uses
    
    Commit migrated from dotnet/runtimelab@915905c
    AaronRobinsonMSFT authored Oct 23, 2020
    Configuration menu
    Copy the full SHA
    247b204 View commit details
    Browse the repository at this point in the history
  2. Add event for marking the Start/Stop of source generation (dotnet/run…

    …timelab#258)
    
    * Add event for marking the Start/Stop of source generation
    
    Commit migrated from dotnet/runtimelab@1e3819b
    AaronRobinsonMSFT authored Oct 23, 2020
    Configuration menu
    Copy the full SHA
    4e79a8e View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2020

  1. Configuration menu
    Copy the full SHA
    0a073bd View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2020

  1. Configuration menu
    Copy the full SHA
    3cef350 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2020

  1. Configuration menu
    Copy the full SHA
    c9fdb1b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d746fcb View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2020

  1. Merge remote-tracking branch 'dotnet/standalone-template' into dllimp…

    …ortgenerator-hookup-build
    
    Commit migrated from dotnet/runtimelab@3e1b2ad
    jkoritzinsky committed Nov 4, 2020
    Configuration menu
    Copy the full SHA
    d816fda View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2020

  1. Add string marshallers for ANSI and platform-defined (dotnet/runtimel…

    …ab#288)
    
    * Update to latest version of analyzer test package
    * Add string marshaller for CharSet.Ansi
    * Add string marshaller for CharSet.Auto
    * Update compatibility doc
    
    Commit migrated from dotnet/runtimelab@ebbd0b2
    elinor-fung authored Nov 5, 2020
    Configuration menu
    Copy the full SHA
    01a1930 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e756fa1 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2020

  1. Configuration menu
    Copy the full SHA
    2e93e69 View commit details
    Browse the repository at this point in the history
  2. Upgrade DNNE to 1.0.16

    Signed-off-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
    
    
    Commit migrated from dotnet/runtimelab@106540b
    jkoritzinsky committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    36da5ae View commit details
    Browse the repository at this point in the history
  3. Merge pull request dotnet/runtimelab#308 from jkoritzinsky/dllimportg…

    …enerator-hookup-build
    
    Commit migrated from dotnet/runtimelab@c6ef6e1
    jkoritzinsky authored Nov 6, 2020
    Configuration menu
    Copy the full SHA
    cfd513c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    996b4f8 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2020

  1. Configuration menu
    Copy the full SHA
    8aafa23 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2020

  1. Configuration menu
    Copy the full SHA
    1719a7c View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2020

  1. Handle PreserveSig=false (dotnet/runtimelab#323)

    * Handle PreserveSig=false
    * Flag SetLastError=true as unsupported until we add support for it
    * Add try-finally to generated code
    * Update doc
    
    Commit migrated from dotnet/runtimelab@4562fa7
    elinor-fung authored Nov 14, 2020
    Configuration menu
    Copy the full SHA
    a17d5d5 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2020

  1. Configuration menu
    Copy the full SHA
    80349fb View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2020

  1. Configuration menu
    Copy the full SHA
    e82452d View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2020

  1. Apply SkipLocalsInitAttribute to generated stubs. (dotnet/runtimelab#377

    )
    
    * Apply SkipLocalsInitAttribute to generated stubs.
    
    Commit migrated from dotnet/runtimelab@7ab9caf
    AaronRobinsonMSFT authored Nov 23, 2020
    Configuration menu
    Copy the full SHA
    8a324f2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    10d3f8a View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. Configuration menu
    Copy the full SHA
    4700722 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2020

  1. Configuration menu
    Copy the full SHA
    67e674b View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2020

  1. Configuration menu
    Copy the full SHA
    15c6272 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2020

  1. Update prefix of packages and published assemblies (dotnet/runtimelab…

    …#423)
    
    * Prefix all packages and and published assemblies with "Microsoft.Interop.*"
    
    Commit migrated from dotnet/runtimelab@e87c78e
    AaronRobinsonMSFT authored Dec 7, 2020
    Configuration menu
    Copy the full SHA
    f037d9e View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2020

  1. Configuration menu
    Copy the full SHA
    d24260a View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2021

  1. Configuration menu
    Copy the full SHA
    9bc3120 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f0fd0d View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2021

  1. Configuration menu
    Copy the full SHA
    c64f379 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    14ae620 View commit details
    Browse the repository at this point in the history
  3. Test fill-in (dotnet/runtimelab#535)

    - array: out byref, return/out with element marshalling
    - bool: in by ref, default marshalling
    - char: in by ref
    - SafeHandle: out by ref
    
    Commit migrated from dotnet/runtimelab@a072658
    elinor-fung authored Jan 11, 2021
    Configuration menu
    Copy the full SHA
    8ba6bf0 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2021

  1. Configuration menu
    Copy the full SHA
    5a89cbb View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2021

  1. Configuration menu
    Copy the full SHA
    7d5caa0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a4330b4 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2021

  1. Fix build errors from an updated SDK/compiler and floating package ve…

    …rsions. (dotnet/runtimelab#944)
    
    Centralize package versions in Versions.props so we have one point for updating a given package across the whole repo.
    
    Commit migrated from dotnet/runtimelab@9aac138
    jkoritzinsky authored Apr 9, 2021
    Configuration menu
    Copy the full SHA
    06f7050 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2021

  1. Configuration menu
    Copy the full SHA
    59aa9c7 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2021

  1. Configuration menu
    Copy the full SHA
    8429569 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2021

  1. Update to Arcade 6.0.0-beta.21222.1 (dotnet/runtimelab#1008)

    * Update to Arcade 6.0.0-beta.21222.1
    
    * Set DNNE roll forward to Major so that we can build with 6.0 SDK
    
    Commit migrated from dotnet/runtimelab@cd7b25b
    elinor-fung authored Apr 26, 2021
    Configuration menu
    Copy the full SHA
    01325b1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c6ccabb View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2021

  1. Configuration menu
    Copy the full SHA
    27ab2e9 View commit details
    Browse the repository at this point in the history
  2. Merge latest standalone-template into feature/DllImportGenerator (dot…

    …net/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 dotnet/runtimelab@57b11ae
    elinor-fung authored Apr 28, 2021
    Configuration menu
    Copy the full SHA
    a20fbed View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f524afa View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. Configuration menu
    Copy the full SHA
    d7a6a6f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    016ae6f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a0fc06 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. Fix link (dotnet/runtimelab#1065)

    Commit migrated from dotnet/runtimelab@2fdea5e
    kant2002 authored May 3, 2021
    Configuration menu
    Copy the full SHA
    a4e4279 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Add support for null arrays in the blittable array marshaller's pinni…

    …ng optimization. (dotnet/runtimelab#1063)
    
    * Add support for null arrays in the blittable array marshaller's pinning optimization.
    
    * Add comment block about the behavior.
    
    * Use pointer casting instead of Unsafe.NullRef since we are already using pointers.
    
    Commit migrated from dotnet/runtimelab@c436fda
    jkoritzinsky authored May 4, 2021
    Configuration menu
    Copy the full SHA
    1e3f71c View commit details
    Browse the repository at this point in the history

Commits on May 5, 2021

  1. Add support for abstract SafeHandle types for by-value marshalling. (d…

    …otnet/runtimelab#1066)
    
    * Add support for abstract SafeHandle types for by-value marshalling.
    
    * Add test for byref abstract SafeHandle.
    
    * Add abstract by-ref test. Add details for failure case.
    
    Commit migrated from dotnet/runtimelab@a406e64
    jkoritzinsky authored May 5, 2021
    Configuration menu
    Copy the full SHA
    bdd2d21 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Disable the test for the Marshal switch now that it currently is a no…

    …-op. I've disabled the test so that we can re-enable it if we end up adding more APIs to the MarshalEx surface. (dotnet/runtimelab#1082)
    
    Commit migrated from dotnet/runtimelab@b7688d5
    jkoritzinsky authored May 6, 2021
    Configuration menu
    Copy the full SHA
    83a0fe2 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2021

  1. Configuration menu
    Copy the full SHA
    4dc5101 View commit details
    Browse the repository at this point in the history

Commits on May 8, 2021

  1. Configuration menu
    Copy the full SHA
    7cd59c4 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2021

  1. Configuration menu
    Copy the full SHA
    7570027 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1cba6dc View commit details
    Browse the repository at this point in the history

Commits on May 18, 2021

  1. Configuration menu
    Copy the full SHA
    d205672 View commit details
    Browse the repository at this point in the history
  2. Support implicit blittability for structs declared in and not exposed…

    … outside of the current compilation. (dotnet/runtimelab#1126)
    
    Commit migrated from dotnet/runtimelab@51d9ad8
    jkoritzinsky authored May 18, 2021
    Configuration menu
    Copy the full SHA
    7d9a4d9 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2021

  1. Configuration menu
    Copy the full SHA
    cd04650 View commit details
    Browse the repository at this point in the history

Commits on May 20, 2021

  1. Use GeneratedDllImport in System.Diagnostics.FileVersionInfo and Syst…

    …em.Runtime.InteropServices.RuntimeInformation (#52739)
    
    * Convert System.Diagnostics.FileVersionInfo
    * Convert System.Runtime.InteropServices.RuntimeInformation
    * Use SYSTEM_INFO* instead of GeneratedDllImport for GetSystemInfo/GetNativeSystemInfo
    elinor-fung authored May 20, 2021
    Configuration menu
    Copy the full SHA
    5513d61 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9f32647 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2021

  1. Require that methods marked with GeneratedDllImport are in types that…

    … are marked partial and any parents of their containing types are also marked partial. (dotnet/runtimelab#1091)
    
    Commit migrated from dotnet/runtimelab@53af4b5
    jkoritzinsky authored May 21, 2021
    Configuration menu
    Copy the full SHA
    0fd1fa1 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2021

  1. Configuration menu
    Copy the full SHA
    cbf6a82 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    36955b1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    efaa1fe View commit details
    Browse the repository at this point in the history

Commits on May 27, 2021

  1. Configuration menu
    Copy the full SHA
    4f834bc View commit details
    Browse the repository at this point in the history
  2. Introduce design doc for Span/ReadOnlySpan<T> marshalling (dotnet/run…

    …timelab#1103)
    
    * First draft of the heart of the span marshalling design.
    
    Finish the in-code collection marshalling support design doc.
    
    * Apply suggestions from code review
    
    Co-authored-by: Aaron Robinson <arobins@microsoft.com>
    
    * Feedback.
    
    * Empty spans will be marshalled as null.
    
    * Make the primary design in Design 2 be contiguous collection support.
    
    * pr feedback and add example stub.
    
    * Fix typo
    
    Co-authored-by: Aaron Robinson <arobins@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@1bc504d
    jkoritzinsky authored May 27, 2021
    Configuration menu
    Copy the full SHA
    a7c64c1 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2021

  1. Handle case where void* is a field. (dotnet/runtimelab#1195)

    * Handle case where void* is a field.
    
    Commit migrated from dotnet/runtimelab@41bf5d1
    AaronRobinsonMSFT authored Jun 1, 2021
    Configuration menu
    Copy the full SHA
    51aaa63 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2021

  1. Fix memory leaks for return values and some out params. (dotnet/runti…

    …melab#1200)
    
    Fix some memory leaks we had where we didn't generate code to free native resources for out parameters that use custom native type marshalling or all return values.
    
    Also set a flag in the csproj that enables a nice debugging innerloop option for roslyn components in the csproj settings (in our case running the generator on the integration tests)
    
    Commit migrated from dotnet/runtimelab@b11a26a
    jkoritzinsky authored Jun 3, 2021
    Configuration menu
    Copy the full SHA
    2ee7b3e View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2021

  1. Configuration menu
    Copy the full SHA
    3b2fbee View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2021

  1. Use GeneratedDllImport in System.IO.FileSystem (#53830)

    * Convert System.IO.FileSystem to DllImport source generator
    AaronRobinsonMSFT authored Jun 7, 2021
    Configuration menu
    Copy the full SHA
    42e903c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a66ebf View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2021

  1. Comment in source that source file is auto-generated. (dotnet/runtime…

    …lab#1209)
    
    * Comment in source that source file is auto-generated.
    
    Co-authored-by: Sam Harwell <sam@tunnelvisionlabs.com>
    
    Commit migrated from dotnet/runtimelab@fd4042c
    AaronRobinsonMSFT authored Jun 8, 2021
    Configuration menu
    Copy the full SHA
    95552f4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f85171f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    614ba84 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4aad39d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    061e414 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2021

  1. Configuration menu
    Copy the full SHA
    9c3d860 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a3d954f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f8c34f5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d101839 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2021

  1. Configuration menu
    Copy the full SHA
    3ebfc68 View commit details
    Browse the repository at this point in the history
  2. Use GeneratedDllImport in System.Net.NetworkInformation (#53966)

    * Use GeneratedDllImport in System.Net.NetworkInformation
    AaronRobinsonMSFT authored Jun 10, 2021
    Configuration menu
    Copy the full SHA
    3004aa2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f0e3844 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e1cab80 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2f50d95 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    247fb4d View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2021

  1. Configuration menu
    Copy the full SHA
    6271751 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bb804ab View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2021

  1. Implement support for collections of collections marshalling (dotnet/…

    …runtimelab#1226)
    
    * Refactor indexer naming to be nested-collection safe.
    
    * Implement initial collections-of-collections/jagged array support.
    
    Use a topological sort of the parameter+return marshallers to unmarshal "CountElementName"-referenced parameters/return before unmarshalling the elements that have a dependency on them through "CountElementName".
    
    * Fixes for edge cases around HResult/Exception handling.
    
    * Flip the edgeMap indices so we can use Array.IndexOf (which is optimized) to search for edges.
    
    * Comments and optimizations.
    
    * Add citation for algorithm,
    
    * Hoist elementIndex out of the loop.
    
    * Encapsulate the edgeMap in a private struct type and add some simple abstractions to enable more perf optimizations.
    
    * Make Topological sort more flexible for element ids
    
    * Use native index if managed index is unset to allow handling multiple native-only parameters as distinct nodes in the graph model.
    
    * Fix using the return value for passing collection size. Validate the types of the CountElementName'd elements, even in nested scenarios.
    
    * Change how we initialize the numRows array.
    
    * Fix cycle breaking in count info.
    
    * Update nested indexer creation for num elements expressions to handle non-collection sub contexts.
    
    * Add stress test for collections of collections that uses 0-11 nested arrays.
    
    * PR feedback.
    
    Commit migrated from dotnet/runtimelab@aa2c08c
    jkoritzinsky authored Jun 12, 2021
    Configuration menu
    Copy the full SHA
    dca91d1 View commit details
    Browse the repository at this point in the history
  2. Implement marshallers for Span and ReadOnlySpan (dotnet/runtimelab#1222)

    * 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 dotnet/runtimelab@e9876f3
    jkoritzinsky authored Jun 12, 2021
    Configuration menu
    Copy the full SHA
    f38351f View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2021

  1. Configuration menu
    Copy the full SHA
    83d8624 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    557cd36 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bfe2f7f View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2021

  1. Configuration menu
    Copy the full SHA
    c0d6093 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2d929b4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    21d9495 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2021

  1. Configuration menu
    Copy the full SHA
    37b9b4e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    907dec0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    78804fb View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2021

  1. Configuration menu
    Copy the full SHA
    b3d6fb1 View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2021

  1. Configuration menu
    Copy the full SHA
    b021efe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0fc1ca2 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2021

  1. Configuration menu
    Copy the full SHA
    9f1e3ea View commit details
    Browse the repository at this point in the history
  2. Don't emit SkipLocalsInit when it's already active (dotnet/runtimelab…

    …#1289)
    
    * Don't emit SkipLocalsInit on each stub if it's already specified on the module as a whole, the containing type, or the stub method
    
    * Precalculate module check and check that first.
    
    Commit migrated from dotnet/runtimelab@7442710
    jkoritzinsky authored Jul 1, 2021
    Configuration menu
    Copy the full SHA
    76b147a View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2021

  1. Require using UnmanagedCallConv instead of the CallingConvention fiel…

    …d on GeneratedDllImport (dotnet/runtimelab#1292)
    
    Co-authored-by: Aaron Robinson <arobins@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@f22931b
    jkoritzinsky authored Jul 2, 2021
    Configuration menu
    Copy the full SHA
    d7b3dc2 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2021

  1. Report diagnostics for bad opt-in marshallers at MarshalUsing use-sit…

    …e if the marshaler is in a different compilation than the current compilation. (dotnet/runtimelab#1300)
    
    Commit migrated from dotnet/runtimelab@d4b5fd0
    jkoritzinsky authored Jul 7, 2021
    Configuration menu
    Copy the full SHA
    adf085f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9285a1e View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2021

  1. Configuration menu
    Copy the full SHA
    5bc2e29 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2021

  1. Improve diagnostics messages for invalid custom native type marshalli…

    …ng and cyclical element info. (dotnet/runtimelab#1306)
    
    Co-authored-by: Elinor Fung <elfung@microsoft.com>
    
    Commit migrated from dotnet/runtimelab@cd18bc4
    jkoritzinsky authored Jul 9, 2021
    Configuration menu
    Copy the full SHA
    86f35c3 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2021

  1. Configuration menu
    Copy the full SHA
    108fcdb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5f0f7a1 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. Configuration menu
    Copy the full SHA
    802e7b9 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. Use the repo-local NuGet.config with GetReferenceAssemblies so we can…

    … use pre-release ref packs reliably. (dotnet/runtimelab#1375)
    
    Commit migrated from dotnet/runtimelab@397ccce
    jkoritzinsky authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    9cdc1e5 View commit details
    Browse the repository at this point in the history
  2. Plan for .NET 7 integration (dotnet/runtimelab#1378)

    * Plan for .NET 7 integration
    
    Commit migrated from dotnet/runtimelab@cd76a36
    AaronRobinsonMSFT authored Aug 6, 2021
    Configuration menu
    Copy the full SHA
    02fa63e View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2021

  1. Configuration menu
    Copy the full SHA
    d8775ee View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2021

  1. Configuration menu
    Copy the full SHA
    2449c46 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2021

  1. Configuration menu
    Copy the full SHA
    7eea82a View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2021

  1. Configuration menu
    Copy the full SHA
    5b8ce63 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    81293bf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    84796a6 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2021

  1. Configuration menu
    Copy the full SHA
    111f57b View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2021

  1. Merge branch 'feature/DllImportGenerator' of /home/jekoritz/scratch/b…

    …ash/dllimportgenerator into port-dllimport-generator
    jkoritzinsky committed Sep 20, 2021
    Configuration menu
    Copy the full SHA
    fc18f4d View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2021

  1. Hook up DllImportGenerator to the libraries build (excluding solution…

    … file regeneration).
    
    Move System.Runtime.InteropServices unit tests to a subdirectory.
    jkoritzinsky committed Sep 23, 2021
    Configuration menu
    Copy the full SHA
    4cfb51f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    27034bc View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2021

  1. Merge pull request #59363 from jkoritzinsky/port-dllimport-generator

    Port DllImportGenerator to dotnet/runtime
    jkoritzinsky authored Sep 24, 2021
    Configuration menu
    Copy the full SHA
    3f1789d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d924fbc View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d7fe7a6 View commit details
    Browse the repository at this point in the history
  4. Remove target framework in the call to DllImportGenerator.csproj.

    This fixes an issue where a project that targets net7.0-windows accidentally ends up getting an output path pointing to the wrong directory for Microsoft.Interop.SourceGeneration.dll, which causes us to hit dotnet/roslyn#56442.
    jkoritzinsky committed Sep 24, 2021
    Configuration menu
    Copy the full SHA
    06b4592 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7c87cc1 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2021

  1. Configuration menu
    Copy the full SHA
    3f78928 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b7283ef View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    27d5e8d View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2021

  1. Configuration menu
    Copy the full SHA
    752533d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    853297a View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2021

  1. Configuration menu
    Copy the full SHA
    c97c4df View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2021

  1. Configuration menu
    Copy the full SHA
    ea7e817 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2021

  1. Configuration menu
    Copy the full SHA
    c4a164b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b4773b0 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2021

  1. Configuration menu
    Copy the full SHA
    d81945e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2dff7cd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a8b691d View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2021

  1. Configuration menu
    Copy the full SHA
    78f4fa8 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2021

  1. Configuration menu
    Copy the full SHA
    cc8ed00 View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2021

  1. Configuration menu
    Copy the full SHA
    45c1dc3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8990b0a View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2021

  1. Add design details regarding dynamic buffers in struct marshalling (#…

    …60374)
    
    * Update StructMarshalling.md with details
    
    Co-authored-by: Elinor Fung <elfung@microsoft.com>
    Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
    3 people authored Oct 14, 2021
    Configuration menu
    Copy the full SHA
    cfe257f View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2021

  1. Undo solution and config changes from DllImportGenerator (#60481)

    * Remove dotnet-experimental feed from NuGet.config
    * Revert changes to solution files and restore configs
    elinor-fung authored Oct 15, 2021
    Configuration menu
    Copy the full SHA
    39048dd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a79d96 View commit details
    Browse the repository at this point in the history