Skip to content

Support methods on classes without explicit binding / arrow functions#21080

Draft
NullVoxPopuli wants to merge 2 commits intomainfrom
nvp/fix-the-issue-where-regular-class-methods-cant-be-used
Draft

Support methods on classes without explicit binding / arrow functions#21080
NullVoxPopuli wants to merge 2 commits intomainfrom
nvp/fix-the-issue-where-regular-class-methods-cant-be-used

Conversation

@NullVoxPopuli
Copy link
Contributor

No description provided.

@NullVoxPopuli NullVoxPopuli changed the title Support methods on classes Support methods on classes without explicit binding / arrow functions Feb 10, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

Estimated Asset Sizes

Diff

--- main/out.txt	2026-02-10 19:32:04.000000000 +0000
+++ pr/./pr-21888866559/out.txt	2026-02-11 01:14:30.000000000 +0000
@@ -1,59 +1,59 @@
 ╔═══════╤═══════════╤═══════════╗
 ║       │ Min       │ Gzip      ║
 ╟───────┼───────────┼───────────╢
-║ Total │ 352.02 KB │ 203.77 KB ║
+║ Total │ 352.02 KB │ 203.97 KB ║
 ╚═══════╧═══════════╧═══════════╝
 
 ╔══════════════════════╤═══════════╤═══════════╗
 ║ @ember/*             │ Min       │ Gzip      ║
 ╟──────────────────────┼───────────┼───────────╢
-║ Total                │ 313.42 KB │ 181.95 KB ║
+║ Total                │ 313.42 KB │ 182.06 KB ║
 ╟──────────────────────┼───────────┼───────────╢
-║ -internals           │ 36.65 KB  │ 26.23 KB  ║
-║ application          │ 13.23 KB  │ 8.09 KB   ║
-║ array                │ 13.01 KB  │ 7.46 KB   ║
+║ -internals           │ 36.65 KB  │ 26.17 KB  ║
+║ application          │ 13.23 KB  │ 7.92 KB   ║
+║ array                │ 13.01 KB  │ 7.53 KB   ║
 ║ canary-features      │ 304 B     │ 389 B     ║
-║ component            │ 2.05 KB   │ 1.64 KB   ║
-║ controller           │ 1.96 KB   │ 1.41 KB   ║
-║ debug                │ 11.69 KB  │ 8.12 KB   ║
+║ component            │ 2.05 KB   │ 1.65 KB   ║
+║ controller           │ 1.96 KB   │ 1.46 KB   ║
+║ debug                │ 11.69 KB  │ 8.18 KB   ║
 ║ deprecated-features  │ 31 B      │ 77 B      ║
 ║ destroyable          │ 561 B     │ 383 B     ║
 ║ enumerable           │ 259 B     │ 387 B     ║
-║ helper               │ 1.08 KB   │ 803 B     ║
+║ helper               │ 1.08 KB   │ 808 B     ║
 ║ instrumentation      │ 2.43 KB   │ 1.79 KB   ║
-║ modifier             │ 1.22 KB   │ 966 B     ║
-║ object               │ 35.94 KB  │ 22.16 KB  ║
+║ modifier             │ 1.22 KB   │ 1008 B    ║
+║ object               │ 35.94 KB  │ 22.11 KB  ║
 ║ owner                │ 159 B     │ 178 B     ║
-║ renderer             │ 630 B     │ 492 B     ║
-║ routing              │ 59.33 KB  │ 34.13 KB  ║
-║ runloop              │ 2.36 KB   │ 1.5 KB    ║
-║ service              │ 1 KB      │ 845 B     ║
-║ template             │ 654 B     │ 519 B     ║
+║ renderer             │ 630 B     │ 496 B     ║
+║ routing              │ 59.33 KB  │ 34.09 KB  ║
+║ runloop              │ 2.36 KB   │ 1.42 KB   ║
+║ service              │ 1 KB      │ 849 B     ║
+║ template             │ 654 B     │ 525 B     ║
 ║ template-compilation │ 429 B     │ 366 B     ║
-║ template-compiler    │ 123.08 KB │ 59.45 KB  ║
-║ template-factory     │ 370 B     │ 374 B     ║
+║ template-compiler    │ 123.08 KB │ 59.67 KB  ║
+║ template-factory     │ 370 B     │ 380 B     ║
 ║ test                 │ 923 B     │ 627 B     ║
-║ utils                │ 4.11 KB   │ 3.6 KB    ║
+║ utils                │ 4.11 KB   │ 3.63 KB   ║
 ║ version              │ 55 B      │ 131 B     ║
 ╚══════════════════════╧═══════════╧═══════════╝
 
 ╔═════════════════╤══════════╤══════════╗
 ║ @glimmer/*      │ Min      │ Gzip     ║
 ╟─────────────────┼──────────┼──────────╢
-║ Total           │ 38.6 KB  │ 21.82 KB ║
+║ Total           │ 38.6 KB  │ 21.91 KB ║
 ╟─────────────────┼──────────┼──────────╢
 ║ destroyable     │ 2.77 KB  │ 1.39 KB  ║
 ║ encoder         │ 81 B     │ 171 B    ║
 ║ env             │ 38 B     │ 87 B     ║
 ║ global-context  │ 886 B    │ 545 B    ║
-║ manager         │ 977 B    │ 608 B    ║
-║ node            │ 175 B    │ 245 B    ║
-║ opcode-compiler │ 1.11 KB  │ 894 B    ║
+║ manager         │ 977 B    │ 618 B    ║
+║ node            │ 175 B    │ 250 B    ║
+║ opcode-compiler │ 1.11 KB  │ 920 B    ║
 ║ owner           │ 159 B    │ 202 B    ║
-║ program         │ 252 B    │ 301 B    ║
-║ reference       │ 548 B    │ 531 B    ║
-║ runtime         │ 10.32 KB │ 5.22 KB  ║
-║ tracking        │ 1.34 KB  │ 1.16 KB  ║
+║ program         │ 252 B    │ 288 B    ║
+║ reference       │ 548 B    │ 547 B    ║
+║ runtime         │ 10.32 KB │ 5.25 KB  ║
+║ tracking        │ 1.34 KB  │ 1.19 KB  ║
 ║ util            │ 1.94 KB  │ 1.68 KB  ║
 ║ validator       │ 15.75 KB │ 6.96 KB  ║
 ║ vm              │ 495 B    │ 569 B    ║

Details

This PRmain
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.02 KB │ 203.97 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.42 KB │ 182.06 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.65 KB  │ 26.17 KB  ║
║ application          │ 13.23 KB  │ 7.92 KB   ║
║ array                │ 13.01 KB  │ 7.53 KB   ║
║ canary-features      │ 304 B     │ 389 B     ║
║ component            │ 2.05 KB   │ 1.65 KB   ║
║ controller           │ 1.96 KB   │ 1.46 KB   ║
║ debug                │ 11.69 KB  │ 8.18 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 808 B     ║
║ instrumentation      │ 2.43 KB   │ 1.79 KB   ║
║ modifier             │ 1.22 KB   │ 1008 B    ║
║ object               │ 35.94 KB  │ 22.11 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 496 B     ║
║ routing              │ 59.33 KB  │ 34.09 KB  ║
║ runloop              │ 2.36 KB   │ 1.42 KB   ║
║ service              │ 1 KB      │ 849 B     ║
║ template             │ 654 B     │ 525 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.08 KB │ 59.67 KB  ║
║ template-factory     │ 370 B     │ 380 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.63 KB   ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.6 KB  │ 21.91 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.77 KB  │ 1.39 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 618 B    ║
║ node            │ 175 B    │ 250 B    ║
║ opcode-compiler │ 1.11 KB  │ 920 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 288 B    ║
║ reference       │ 548 B    │ 547 B    ║
║ runtime         │ 10.32 KB │ 5.25 KB  ║
║ tracking        │ 1.34 KB  │ 1.19 KB  ║
║ util            │ 1.94 KB  │ 1.68 KB  ║
║ validator       │ 15.75 KB │ 6.96 KB  ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝
╔═══════╤═══════════╤═══════════╗
║       │ Min       │ Gzip      ║
╟───────┼───────────┼───────────╢
║ Total │ 352.02 KB │ 203.77 KB ║
╚═══════╧═══════════╧═══════════╝

╔══════════════════════╤═══════════╤═══════════╗
║ @ember/*             │ Min       │ Gzip      ║
╟──────────────────────┼───────────┼───────────╢
║ Total                │ 313.42 KB │ 181.95 KB ║
╟──────────────────────┼───────────┼───────────╢
║ -internals           │ 36.65 KB  │ 26.23 KB  ║
║ application          │ 13.23 KB  │ 8.09 KB   ║
║ array                │ 13.01 KB  │ 7.46 KB   ║
║ canary-features      │ 304 B     │ 389 B     ║
║ component            │ 2.05 KB   │ 1.64 KB   ║
║ controller           │ 1.96 KB   │ 1.41 KB   ║
║ debug                │ 11.69 KB  │ 8.12 KB   ║
║ deprecated-features  │ 31 B      │ 77 B      ║
║ destroyable          │ 561 B     │ 383 B     ║
║ enumerable           │ 259 B     │ 387 B     ║
║ helper               │ 1.08 KB   │ 803 B     ║
║ instrumentation      │ 2.43 KB   │ 1.79 KB   ║
║ modifier             │ 1.22 KB   │ 966 B     ║
║ object               │ 35.94 KB  │ 22.16 KB  ║
║ owner                │ 159 B     │ 178 B     ║
║ renderer             │ 630 B     │ 492 B     ║
║ routing              │ 59.33 KB  │ 34.13 KB  ║
║ runloop              │ 2.36 KB   │ 1.5 KB    ║
║ service              │ 1 KB      │ 845 B     ║
║ template             │ 654 B     │ 519 B     ║
║ template-compilation │ 429 B     │ 366 B     ║
║ template-compiler    │ 123.08 KB │ 59.45 KB  ║
║ template-factory     │ 370 B     │ 374 B     ║
║ test                 │ 923 B     │ 627 B     ║
║ utils                │ 4.11 KB   │ 3.6 KB    ║
║ version              │ 55 B      │ 131 B     ║
╚══════════════════════╧═══════════╧═══════════╝

╔═════════════════╤══════════╤══════════╗
║ @glimmer/*      │ Min      │ Gzip     ║
╟─────────────────┼──────────┼──────────╢
║ Total           │ 38.6 KB  │ 21.82 KB ║
╟─────────────────┼──────────┼──────────╢
║ destroyable     │ 2.77 KB  │ 1.39 KB  ║
║ encoder         │ 81 B     │ 171 B    ║
║ env             │ 38 B     │ 87 B     ║
║ global-context  │ 886 B    │ 545 B    ║
║ manager         │ 977 B    │ 608 B    ║
║ node            │ 175 B    │ 245 B    ║
║ opcode-compiler │ 1.11 KB  │ 894 B    ║
║ owner           │ 159 B    │ 202 B    ║
║ program         │ 252 B    │ 301 B    ║
║ reference       │ 548 B    │ 531 B    ║
║ runtime         │ 10.32 KB │ 5.22 KB  ║
║ tracking        │ 1.34 KB  │ 1.16 KB  ║
║ util            │ 1.94 KB  │ 1.68 KB  ║
║ validator       │ 15.75 KB │ 6.96 KB  ║
║ vm              │ 495 B    │ 569 B    ║
║ wire-format     │ 1.84 KB  │ 1.35 KB  ║
╚═════════════════╧══════════╧══════════╝

@NullVoxPopuli NullVoxPopuli force-pushed the nvp/fix-the-issue-where-regular-class-methods-cant-be-used branch from b4dabc9 to 67250c0 Compare March 4, 2026 18:59
@github-actions
Copy link
Contributor

github-actions bot commented Mar 4, 2026

📊 Package size report   0.06%↑

File Before (Size / Brotli) After (Size / Brotli)
dist/ember-template-compiler.js.map 1.5 MB / 260.1 kB 0.08%↑1.5 MB / 0.1%↑260.4 kB
dist/ember.debug.js 2.1 MB / 321.9 kB 0.05%↑2.1 MB / 0.04%↑322.1 kB
dist/ember.debug.js.map 3.4 MB / 634.6 kB 0.08%↑3.4 MB / 0.08%↑635.1 kB
dist/ember.prod.js 1.9 MB / 292.6 kB 0.06%↑1.9 MB / 0.07%↑292.8 kB
dist/ember.prod.js.map 3.3 MB / 607.7 kB 0.08%↑3.3 MB / 0.03%↑607.8 kB
dist/packages/shared-chunks/api-Bw2ubvqa.js 10.2 kB / 2.2 kB 2%↑10.4 kB / 8%↑2.3 kB
dist/packages/shared-chunks/dynamic-hxVeeH7h.js 118 kB / 23.8 kB 0.2%↑118.2 kB / 0.1%↑23.8 kB
dist/packages/shared-chunks/reference-C2prZqdi.js 5.2 kB / 1.3 kB 12%↑5.8 kB / 11%↑1.5 kB
Total (Includes all files) 17.1 MB / 3.2 MB 0.06%↑17.1 MB / 0.05%↑3.2 MB
Tarball size 3.8 MB 0.04%↑3.9 MB

🤖 This report was automatically generated by pkg-size-action

@NullVoxPopuli NullVoxPopuli force-pushed the nvp/fix-the-issue-where-regular-class-methods-cant-be-used branch from 1447cbb to 67250c0 Compare March 4, 2026 19:36
Fix

Update smoke test to be very sure

Fix

Refactor createInvokableRef to use ReferenceImpl for improved clarity and maintainability

Add VM_INVOKABLE_REFERENCE_OP and related functionality to support invokable references

is this meaningful

really?

lint
@NullVoxPopuli NullVoxPopuli force-pushed the nvp/fix-the-issue-where-regular-class-methods-cant-be-used branch from 67250c0 to ccb280f Compare March 4, 2026 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant