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

interp: improve handling of methods defined on interfaces #1516

Merged
merged 12 commits into from
Mar 6, 2023

Commits on Feb 23, 2023

  1. interp: improve handling of methods defined on interfaces

    For methods defined on interfaces (vs concrete methods), the resolution
    of the method is necessarily delayed at the run time and can not be
    completed at compile time.
    
    The selectorExpr processing has been changed to correctly identify
    calls on interface methods which were confused as fields rather
    than methods (due to the fact that in a interface definition, methods
    are fields of the interface).
    
    Then at runtime, method lookup has been fixed to correctly recurse in
    nested valueInterface wrappers and to find embedded interface fields
    in case of struct or pointer to structs.
    
    Fixes traefik#1515.
    mvertes committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    a725038 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a2187a View commit details
    Browse the repository at this point in the history
  3. lint

    mvertes committed Feb 23, 2023
    Configuration menu
    Copy the full SHA
    050378d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ded0780 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2023

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

Commits on Feb 28, 2023

  1. Do not process receiver value in call

    The receiver is already processed at method resolution and in
    genFunctionWrapper. Removing redundant processing in call
    fixes handling of variadic method, simplifies the code and
    makes it faster.
    
    With this commit, it is now possible to run coraza-waf plugin
    in traefik.
    mvertes committed Feb 28, 2023
    Configuration menu
    Copy the full SHA
    7c2e5d6 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2023

  1. Update interp/cfg.go

    Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
    mvertes and mpl committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    536019f View commit details
    Browse the repository at this point in the history
  2. fix previous

    mvertes committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    708fbd6 View commit details
    Browse the repository at this point in the history
  3. Update interp/run.go

    Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
    mvertes and mpl committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    36418b7 View commit details
    Browse the repository at this point in the history
  4. Update interp/run.go

    Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
    mvertes and mpl committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    a65f9d4 View commit details
    Browse the repository at this point in the history
  5. Update interp/cfg.go

    Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
    mvertes and mpl committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    0505594 View commit details
    Browse the repository at this point in the history
  6. Update interp/cfg.go

    Co-authored-by: mpl <mathieu.lonjaret@gmail.com>
    mvertes and mpl committed Mar 6, 2023
    Configuration menu
    Copy the full SHA
    1952a76 View commit details
    Browse the repository at this point in the history