diff --git a/packages/ember-htmlbars/lib/env.js b/packages/ember-htmlbars/lib/env.js index 9486e1570bd..353fbebcac7 100644 --- a/packages/ember-htmlbars/lib/env.js +++ b/packages/ember-htmlbars/lib/env.js @@ -80,7 +80,6 @@ import partial from 'ember-htmlbars/keywords/partial'; import input from 'ember-htmlbars/keywords/input'; import textarea from 'ember-htmlbars/keywords/textarea'; import yieldKeyword from 'ember-htmlbars/keywords/yield'; -import legacyYield from 'ember-htmlbars/keywords/legacy-yield'; import mut, { privateMut } from 'ember-htmlbars/keywords/mut'; import readonly from 'ember-htmlbars/keywords/readonly'; import getKeyword from 'ember-htmlbars/keywords/get'; @@ -95,7 +94,6 @@ registerKeyword('partial', partial); registerKeyword('input', input); registerKeyword('textarea', textarea); registerKeyword('yield', yieldKeyword); -registerKeyword('legacy-yield', legacyYield); registerKeyword('mut', mut); registerKeyword('@mut', privateMut); registerKeyword('readonly', readonly); diff --git a/packages/ember-htmlbars/lib/keywords/legacy-yield.js b/packages/ember-htmlbars/lib/keywords/legacy-yield.js deleted file mode 100644 index 17324987cc4..00000000000 --- a/packages/ember-htmlbars/lib/keywords/legacy-yield.js +++ /dev/null @@ -1,24 +0,0 @@ -import ProxyStream from 'ember-metal/streams/proxy-stream'; - -export default function legacyYield(morph, env, _scope, params, hash, template, inverse, visitor) { - let scope = _scope; - let block = scope.getBlock('default'); - - if (block.arity === 0) { - // Typically, the `controller` local persists through lexical scope. - // However, in this case, the `{{legacy-yield}}` in the legacy each view - // needs to override the controller local for the template it is yielding. - // This megahaxx allows us to override the controller, and most importantly, - // prevents the downstream scope from attempting to bind the `controller` local. - if (hash.controller) { - scope = env.hooks.createChildScope(scope); - scope.bindLocal('controller', new ProxyStream(hash.controller, 'controller')); - scope.overrideController = true; - } - block.invoke(env, [], params[0], morph, scope, visitor); - } else { - block.invoke(env, params, undefined, morph, scope, visitor); - } - - return true; -}