Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Issue 2712983002: Add LookupTable class for finding classes and members by name.

Created:
3 years, 10 months ago by asgerf
Modified:
3 years, 10 months ago
Reviewers:
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add LookupTable class for finding classes and members by name. The new class becomes a superclass of CoreTypes, which now gets its functionality from that class, but also exposes commonly used built-in members as fields. This replaces a couple of ad-hoc linear searches spread throughout the code. The canonical names are not a convenient interface for transformers, so the idea is that they can use LookupTable to address their own runtime libraries. To avoid name clashes and still have a somewhat convenient interface, getters and setters are prefixed by 'get:' and 'set:' in the lookup table (and only in the lookup table), and top-level members can be accessed using '::' as the class name. This is the same convention used by the VM, although it is currently not required to be the same. BUG=

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+283 lines, -234 lines) Patch
M pkg/kernel/lib/core_types.dart View 2 chunks +22 lines, -70 lines 0 comments Download
A pkg/kernel/lib/lookup_table.dart View 1 chunk +203 lines, -0 lines 0 comments Download
M pkg/kernel/lib/transformations/continuation.dart View 1 chunk +16 lines, -79 lines 0 comments Download
M pkg/kernel/lib/transformations/method_call.dart View 2 chunks +2 lines, -5 lines 0 comments Download
M pkg/kernel/lib/transformations/mixin_full_resolution.dart View 2 chunks +2 lines, -5 lines 0 comments Download
M pkg/kernel/lib/transformations/treeshaker.dart View 6 chunks +37 lines, -74 lines 0 comments Download
M pkg/kernel/lib/type_propagation/builder.dart View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 2 (2 generated)
asgerf
Description was changed from ========== Add LookupTable class for finding classes and members by name. ...
3 years, 10 months ago (2017-02-23 16:32:47 UTC) #1
asgerf
3 years, 10 months ago (2017-02-23 16:33:12 UTC) #2
Description was changed from

==========
Add LookupTable class for finding classes and members by name.

The new class becomes a superclass of CoreTypes, which now gets its
functionality from that class, but also exposes commonly used built-in
members as fields.

This replaces a couple of ad-hoc linear searches spread throughout
the code.

The canonical names are not a convenient interface for transformers, so
the idea is that they can use LookupTable to address their own runtime
libraries.

To avoid name clashes and still have a somewhat convenient interface,
getters and setters are prefixed by 'get:' and 'set:' in the lookup
table (and only in the lookup table), and top-level members can be
accessed using '::' as the class name.  This is the same convention
used by the VM.

BUG=
==========

to

==========
Add LookupTable class for finding classes and members by name.

The new class becomes a superclass of CoreTypes, which now gets its
functionality from that class, but also exposes commonly used built-in
members as fields.

This replaces a couple of ad-hoc linear searches spread throughout
the code.

The canonical names are not a convenient interface for transformers, so
the idea is that they can use LookupTable to address their own runtime
libraries.

To avoid name clashes and still have a somewhat convenient interface,
getters and setters are prefixed by 'get:' and 'set:' in the lookup
table (and only in the lookup table), and top-level members can be
accessed using '::' as the class name. This is the same convention
used by the VM, although it is currently not required to be the same.

BUG=
==========

Powered by Google App Engine
This is Rietveld 408576698