Skip to content

Recreating a Member Confuses Rocks #278

@JasonBock

Description

@JasonBock

Describe the bug
If a type recreates (for lack of a better term) a member in a type hierarchy, Rocks doesn't process it correctly.

To Reproduce

var code =
  """
  using Rocks;
  
  namespace MockTests
  {
    public struct ScriptScopeContext { }

    public abstract class JsToken
    {
      public abstract object Evaluate(ScriptScopeContext scope);
    }

    public abstract class JsOperator 
      : JsToken
    {
      public override object Evaluate(ScriptScopeContext scope) => this;
    }

    public abstract class JsBinaryOperator 
      : JsOperator
    {
      public abstract object Evaluate(object target);
    }
  
    public static class Test
    {
      public static void Generate()
      {
        var rock = Rock.Create<JsBinaryOperator>();
      }
    }
  }
  """;

Expected behavior
This handles the type hierarchy correctly.

Additional context
This was found on ServiceStack.Script.JsUnaryOperator

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions