Skip to content
This repository was archived by the owner on Feb 22, 2018. It is now read-only.
This repository was archived by the owner on Feb 22, 2018. It is now read-only.

dynamic dispatch doesn't handle extensions #142

Closed
@jmesserly

Description

@jmesserly

It won't find methods like: list[core.$where]

note, if we fix related issue: #138, then we only need to look for extensions when we get a native Array type. If we get a real Dart subtype, it will have the named method (e.g. where) ... we have similar issues right now with dynamic sends to all String/int/num/double/bool members.

Activity

jmesserly

jmesserly commented on May 7, 2015

@jmesserly
ContributorAuthor

@jacob314 @jmesserly Do you guys have thoughts on how to handle this?

yeah, what I would try, we have registerExtension which informs dart_runtime about the Array<->List correspondence, that should be enough to find the symbols and ensure we add them to a dynamic dispatch table. Then everywhere we currently do obj[name] becomes a slightly more sophisticated check, that also knows to check for symbol too.

For certain names, we probably can just check the symbol first. Although note the related issues in #138.

self-assigned this
on May 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @jmesserly@vsmenon

      Issue actions

        dynamic dispatch doesn't handle extensions · Issue #142 · dart-archive/dev_compiler