• J
    Refactor marshalling info parser to split overall logic from ordering (#72687) · bc9c3710
    Jeremy Koritzinsky 提交于
    * Refactor marshalling info parser to split overall logic from ordering
    
    Split our marshalling attribute parser into separate classes for each attribute and category and make the parser itself only handle executing the various different stages of marshalling info parsing. All logic for parsing a given attribute is handled now by the separate classes.
    
    This PR allows the JS marshaller to reuse the core of our parsing and opt-in to more of the logic as they see fit.
    
    * Add doc comments for all of the new APIs
    
    * Fix failing test
    
    * Make the JS known managed type info hang off the JS marshalling info instead of inheriting from ManagedTypeInfo. ManagedTypeInfo is meant to represent just enough info from an ITypeSymbol that we can accurately generate code based on any language/typesystem rules. It is not meant for storing generator-specific marshalling info.
    
    * Create JSTypeInfo based on symbols, not type name string parsing.
    
    * Apply suggestions from code review
    Co-authored-by: NMarek Fišera <mara@neptuo.com>
    
    * PR feedback.
    
    * Add comments
    Co-authored-by: NMarek Fišera <mara@neptuo.com>
    bc9c3710
ConvertToLibraryImportAnalyzer.cs 8.7 KB