refactor(ivy): move bind instruction into i18nExp (#31089)

i18nExp now uses `bind` internally rather than having the compiler generate it in order to bring it in line with other functions like `textBinding` & `property`.

FW-1384 #resolve
PR Close #31089
This commit is contained in:
Olivier Combe
2019-06-17 17:07:44 +02:00
committed by Andrew Kushnir
parent 65544ac742
commit 87168acf39
4 changed files with 99 additions and 93 deletions

View File

@ -16,7 +16,7 @@ import {addAllToArray} from '../util/array_utils';
import {assertDataInRange, assertDefined, assertEqual, assertGreaterThan} from '../util/assert';
import {attachPatchData} from './context_discovery';
import {setDelayProjection, ɵɵload} from './instructions/all';
import {setDelayProjection, ɵɵbind, ɵɵload} from './instructions/all';
import {attachI18nOpCodesDebug} from './instructions/lview_debug';
import {allocExpando, elementAttributeInternal, elementPropertyInternal, getOrCreateTNode, setInputsForProperty, textBindingInternal} from './instructions/shared';
import {LContainer, NATIVE} from './interfaces/container';
@ -1013,11 +1013,12 @@ let shiftsCounter = 0;
* Stores the values of the bindings during each update cycle in order to determine if we need to
* update the translated nodes.
*
* @param expression The binding's new value or NO_CHANGE
* @param value The binding's value
*
* @codeGenApi
*/
export function ɵɵi18nExp<T>(expression: T | NO_CHANGE): void {
export function ɵɵi18nExp<T>(value: T): void {
const expression = ɵɵbind(value);
if (expression !== NO_CHANGE) {
changeMask = changeMask | (1 << shiftsCounter);
}