refactor(core): rename instructions for consistency (#20855)

PR Close #20855
This commit is contained in:
Kara Erickson 2017-12-14 16:26:28 -08:00 committed by Igor Minar
parent 6cc8f2298e
commit 19eeba2281
16 changed files with 230 additions and 227 deletions

View File

@ -9,7 +9,7 @@
import {ComponentRef, EmbeddedViewRef, Injector} from '../core'; import {ComponentRef, EmbeddedViewRef, Injector} from '../core';
import {assertNotNull} from './assert'; import {assertNotNull} from './assert';
import {NG_HOST_SYMBOL, createError, createViewState, directiveCreate, elementHost, enterView, leaveView} from './instructions'; import {NG_HOST_SYMBOL, createError, createViewState, directive, elementHost, enterView, leaveView} from './instructions';
import {LElement} from './l_node'; import {LElement} from './l_node';
import {ComponentDef, ComponentType} from './public_interfaces'; import {ComponentDef, ComponentType} from './public_interfaces';
import {RElement, Renderer3, RendererFactory3} from './renderer'; import {RElement, Renderer3, RendererFactory3} from './renderer';
@ -146,7 +146,7 @@ export function renderComponent<T>(
// Create element node at index 0 in data array // Create element node at index 0 in data array
elementHost(opts.host || componentDef.tag, componentDef); elementHost(opts.host || componentDef.tag, componentDef);
// Create directive instance with n() and store at index 1 in data array (el is 0) // Create directive instance with n() and store at index 1 in data array (el is 0)
component = directiveCreate(1, componentDef.n(), componentDef); component = directive(1, componentDef.n(), componentDef);
} finally { } finally {
leaveView(oldView); leaveView(oldView);
} }

View File

@ -20,7 +20,7 @@ import {ComponentDef, ComponentTemplate, ComponentType, DirectiveDef, DirectiveD
// - lower case for closing: c(containerEnd), e(elementEnd), v(viewEnd) // - lower case for closing: c(containerEnd), e(elementEnd), v(viewEnd)
// clang-format off // clang-format off
export { export {
LifeCycleGuard, LifecycleHook,
NO_CHANGE as NC, NO_CHANGE as NC,
@ -35,33 +35,36 @@ export {
bind8 as b8, bind8 as b8,
bindV as bV, bindV as bV,
containerCreate as C, componentRefresh as r,
containerEnd as c,
contentProjection as P,
directiveCreate as D, containerStart as C,
directiveLifeCycle as l, containerEnd as c,
distributeProjectedNodes as dP, containerRefreshStart as cR,
containerRefreshEnd as cr,
directive as D,
elementAttribute as a, elementAttribute as a,
elementClass as k, elementClass as k,
elementCreate as E,
elementEnd as e, elementEnd as e,
elementProperty as p, elementProperty as p,
elementStart as E,
elementStyle as s, elementStyle as s,
listenerCreate as L, lifecycle as l,
listener as L,
memory as m, memory as m,
queryCreate as Q,
refreshComponent as r, projection as P,
refreshContainer as rC, projectionDef as pD,
refreshContainerEnd as rc,
refreshQuery as rQ,
textCreate as T,
textCreateBound as t,
viewCreate as V, query as Q,
queryRefresh as qR,
text as T,
textBinding as t,
viewStart as V,
viewEnd as v, viewEnd as v,
} from './instructions'; } from './instructions';
// clang-format on // clang-format on

View File

@ -23,19 +23,18 @@ import {QueryList, QueryState_} from './query';
import {RComment, RElement, RText, Renderer3, ProceduralRenderer3, ObjectOrientedRenderer3, RendererStyleFlags3} from './renderer'; import {RComment, RElement, RText, Renderer3, ProceduralRenderer3, ObjectOrientedRenderer3, RendererStyleFlags3} from './renderer';
import {isDifferent, stringify} from './util'; import {isDifferent, stringify} from './util';
export {refreshQuery} from './query'; export {queryRefresh} from './query';
/** /**
* Enum used by the directiveLifecycle (l) instruction to determine which lifecycle * Enum used by the lifecycle (l) instruction to determine which lifecycle hook is requesting
* hook is requesting processing and whether it should be allowed to run. It "guards" * processing.
* certain hooks, e.g. "ngOnInit" should only run once on creation.
*/ */
export const enum LifeCycleGuard {ON_INIT = 1, ON_DESTROY = 2, ON_CHANGES = 4} export const enum LifecycleHook {ON_INIT = 1, ON_DESTROY = 2, ON_CHANGES = 4}
/** /**
* directiveCreate (D) sets a property on all component instances using this constant * directive (D) sets a property on all component instances using this constant as a key and the
* as a key, and the component's host node (LElement) as the value. This is used in * component's host node (LElement) as the value. This is used in methods like detectChanges to
* methods like detectChanges to facilitate jumping from an instance to the host node. * facilitate jumping from an instance to the host node.
*/ */
export const NG_HOST_SYMBOL = '__ngHostLNode__'; export const NG_HOST_SYMBOL = '__ngHostLNode__';
@ -63,14 +62,13 @@ let nextNgElementId = 0;
* *
* - ObjectedOrientedRenderer3 * - ObjectedOrientedRenderer3
* *
* This is the native browser API style. e.g. operations are methods on individual objects * This is the native browser API style, e.g. operations are methods on individual objects
* like HTMLElement. With this style, no additional code is needed (reducing payload size) * like HTMLElement. With this style, no additional code is needed as a facade (reducing payload size).
* as a facade.
* *
* - ProceduralRenderer3 * - ProceduralRenderer3
* *
* In non-native browser environments (e.g. platforms such as web-workers), this is the facade * In non-native browser environments (e.g. platforms such as web-workers), this is the facade
* that facilitates element manipulation. This also facilitates backwards compatibility with * that enables element manipulation. This also facilitates backwards compatibility with
* Renderer2. * Renderer2.
*/ */
let renderer: Renderer3; let renderer: Renderer3;
@ -299,8 +297,8 @@ export function renderTemplate<T>(host: LElement, template: ComponentTemplate<T>
* Registers this directive as present in its node's injector by flipping the directive's * Registers this directive as present in its node's injector by flipping the directive's
* corresponding bit in the injector's bloom filter. * corresponding bit in the injector's bloom filter.
* *
* @param injector The injector to which the type should be added * @param injector The injector in which the directive should be registered
* @param type The directive type to add * @param type The directive to register
*/ */
export function bloomAdd(injector: LNodeInjector, type: Type<any>): void { export function bloomAdd(injector: LNodeInjector, type: Type<any>): void {
let id: number|undefined = (type as any)[NG_ELEMENT_ID]; let id: number|undefined = (type as any)[NG_ELEMENT_ID];
@ -382,7 +380,7 @@ export function getOrCreateNodeInjector(): LNodeInjector {
* name and elements with an odd index hold an attribute value, ex.: * name and elements with an odd index hold an attribute value, ex.:
* ['id', 'warning5', 'class', 'alert'] * ['id', 'warning5', 'class', 'alert']
*/ */
export function elementCreate( export function elementStart(
index: number, nameOrComponentDef?: string | ComponentDef<any>, attrs?: string[]): RElement { index: number, nameOrComponentDef?: string | ComponentDef<any>, attrs?: string[]): RElement {
let node: LElement; let node: LElement;
let native: RElement; let native: RElement;
@ -437,9 +435,9 @@ function getTemplateStatic(template: ComponentTemplate<any>): NgStaticData {
function setUpAttributes(native: RElement, attrs: string[]): void { function setUpAttributes(native: RElement, attrs: string[]): void {
ngDevMode && assertEqual(attrs.length % 2, 0, 'attrs.length % 2'); ngDevMode && assertEqual(attrs.length % 2, 0, 'attrs.length % 2');
const isFnRenderer = (renderer as ProceduralRenderer3).setAttribute; const isProceduralRenderer = (renderer as ProceduralRenderer3).setAttribute;
for (let i = 0; i < attrs.length; i += 2) { for (let i = 0; i < attrs.length; i += 2) {
isFnRenderer ? (renderer as ProceduralRenderer3).setAttribute !(native, attrs[i], attrs[i | 1]) : isProceduralRenderer ? (renderer as ProceduralRenderer3).setAttribute !(native, attrs[i], attrs[i | 1]) :
native.setAttribute(attrs[i], attrs[i | 1]); native.setAttribute(attrs[i], attrs[i | 1]);
} }
} }
@ -483,7 +481,7 @@ export function elementHost(elementOrSelector: RElement | string, def: Component
* @param listener The function to be called when event emits * @param listener The function to be called when event emits
* @param useCapture Whether or not to use capture in event listener. * @param useCapture Whether or not to use capture in event listener.
*/ */
export function listenerCreate( export function listener(
eventName: string, listener: EventListener, useCapture = false): void { eventName: string, listener: EventListener, useCapture = false): void {
ngDevMode && assertPreviousIsParent(); ngDevMode && assertPreviousIsParent();
const node = previousOrParentNode; const node = previousOrParentNode;
@ -510,7 +508,7 @@ export function listenerCreate(
const outputs = staticData.outputs; const outputs = staticData.outputs;
let outputData: (number | string)[]|undefined; let outputData: (number | string)[]|undefined;
if (outputs && (outputData = outputs[eventName])) { if (outputs && (outputData = outputs[eventName])) {
outputCreate(outputData, listener); createOutput(outputData, listener);
} }
} }
@ -518,7 +516,7 @@ export function listenerCreate(
* Iterates through the outputs associated with a particular event name and subscribes to * Iterates through the outputs associated with a particular event name and subscribes to
* each output. * each output.
*/ */
function outputCreate(outputs: (number | string)[], listener: Function): void { function createOutput(outputs: (number | string)[], listener: Function): void {
for (let i = 0; i < outputs.length; i += 2) { for (let i = 0; i < outputs.length; i += 2) {
ngDevMode && assertDataInRange(outputs[i] as number); ngDevMode && assertDataInRange(outputs[i] as number);
const subscription = data[outputs[i] as number][outputs[i | 1]].subscribe(listener); const subscription = data[outputs[i] as number][outputs[i | 1]].subscribe(listener);
@ -526,9 +524,7 @@ function outputCreate(outputs: (number | string)[], listener: Function): void {
} }
} }
/** /** Mark the end of the element. */
* Mark the end of the element.
*/
export function elementEnd() { export function elementEnd() {
if (isParent) { if (isParent) {
isParent = false; isParent = false;
@ -568,10 +564,8 @@ export function elementAttribute(index: number, attrName: string, value: any): v
* Update a property on an Element. * Update a property on an Element.
* *
* If the property name also exists as an input property on one of the element's directives, * If the property name also exists as an input property on one of the element's directives,
* the component property will be set instead of the element property. This check is also * the component property will be set instead of the element property. This check must
* done at compile time to determine whether to generate an i() or p() instruction, but must * be conducted at runtime so child components that add new @Inputs don't have to be re-compiled.
* be conducted at runtime as well so child components that add new @Inputs don't have to be
* re-compiled.
* *
* @param index The index of the element to update in the data array * @param index The index of the element to update in the data array
* @param propName Name of property. Because it is going to DOM, this is not subject to * @param propName Name of property. Because it is going to DOM, this is not subject to
@ -736,7 +730,7 @@ export function elementStyle<T>(
* @param value Value to write. This value will be stringified. * @param value Value to write. This value will be stringified.
* If value is not provided than the actual creation of the text node is delayed. * If value is not provided than the actual creation of the text node is delayed.
*/ */
export function textCreate(index: number, value?: any): void { export function text(index: number, value?: any): void {
ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex'); ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex');
const textNode = value != null ? const textNode = value != null ?
((renderer as ProceduralRenderer3).createText ? ((renderer as ProceduralRenderer3).createText ?
@ -756,7 +750,7 @@ export function textCreate(index: number, value?: any): void {
* @param index Index of the node in the data array. * @param index Index of the node in the data array.
* @param value Stringified value to write. * @param value Stringified value to write.
*/ */
export function textCreateBound<T>(index: number, value: T | NO_CHANGE): void { export function textBinding<T>(index: number, value: T | NO_CHANGE): void {
// TODO(misko): I don't think index < nodes.length check is needed here. // TODO(misko): I don't think index < nodes.length check is needed here.
let existingNode = index < data.length && data[index] as LText; let existingNode = index < data.length && data[index] as LText;
if (existingNode && existingNode.native) { if (existingNode && existingNode.native) {
@ -773,7 +767,7 @@ export function textCreateBound<T>(index: number, value: T | NO_CHANGE): void {
(renderer as ObjectOrientedRenderer3).createTextNode !(stringify(value))); (renderer as ObjectOrientedRenderer3).createTextNode !(stringify(value)));
insertChild(existingNode, currentView); insertChild(existingNode, currentView);
} else { } else {
textCreate(index, value); text(index, value);
} }
} }
@ -793,9 +787,9 @@ export function textCreateBound<T>(index: number, value: T | NO_CHANGE): void {
* @param directive The directive instance. * @param directive The directive instance.
* @param directiveDef DirectiveDef object which contains information about the template. * @param directiveDef DirectiveDef object which contains information about the template.
*/ */
export function directiveCreate<T>(index: number): T; export function directive<T>(index: number): T;
export function directiveCreate<T>(index: number, directive: T, directiveDef: DirectiveDef<T>): T; export function directive<T>(index: number, directive: T, directiveDef: DirectiveDef<T>): T;
export function directiveCreate<T>( export function directive<T>(
index: number, directive?: T, directiveDef?: DirectiveDef<T>): T { index: number, directive?: T, directiveDef?: DirectiveDef<T>): T {
let instance; let instance;
if (directive == null) { if (directive == null) {
@ -914,26 +908,26 @@ export function diPublic(def: DirectiveDef<any>): void {
* For the onInit lifecycle hook, it will return whether or not the ngOnInit() function * For the onInit lifecycle hook, it will return whether or not the ngOnInit() function
* should run. If so, ngOnInit() will be called outside of this function. * should run. If so, ngOnInit() will be called outside of this function.
* *
* e.g. l(LifecycleGuard.ON_INIT) && ctx.ngOnInit(); * e.g. l(LifecycleHook.ON_INIT) && ctx.ngOnInit();
* *
* For the onDestroy lifecycle hook, this instruction also accepts an onDestroy * For the onDestroy lifecycle hook, this instruction also accepts an onDestroy
* method that should be stored and called internally when the parent view is being * method that should be stored and called internally when the parent view is being
* cleaned up. * cleaned up.
* *
* e.g. l(LifecycleGuard.ON_DESTROY, ctx, ctx.onDestroy); * e.g. l(LifecycleHook.ON_DESTROY, ctx, ctx.onDestroy);
* *
* @param lifeCycle * @param lifeCycle
* @param self * @param self
* @param method * @param method
*/ */
export function directiveLifeCycle( export function lifecycle(
lifeCycle: LifeCycleGuard.ON_DESTROY, self: any, method: Function): void; lifeCycle: LifecycleHook.ON_DESTROY, self: any, method: Function): void;
export function directiveLifeCycle(lifeCycle: LifeCycleGuard): boolean; export function lifecycle(lifeCycle: LifecycleHook): boolean;
export function directiveLifeCycle( export function lifecycle(
lifeCycle: LifeCycleGuard, self?: any, method?: Function): boolean { lifeCycle: LifecycleHook, self?: any, method?: Function): boolean {
if (lifeCycle === LifeCycleGuard.ON_INIT) { if (lifeCycle === LifecycleHook.ON_INIT) {
return creationMode; return creationMode;
} else if (lifeCycle === LifeCycleGuard.ON_DESTROY) { } else if (lifeCycle === LifecycleHook.ON_DESTROY) {
(cleanup || (currentView.cleanup = cleanup = [])).push(method, self); (cleanup || (currentView.cleanup = cleanup = [])).push(method, self);
} }
return false; return false;
@ -954,7 +948,7 @@ export function directiveLifeCycle(
* @param tagName The name of the container element, if applicable * @param tagName The name of the container element, if applicable
* @param attrs The attrs attached to the container, if applicable * @param attrs The attrs attached to the container, if applicable
*/ */
export function containerCreate( export function containerStart(
index: number, template?: ComponentTemplate<any>, tagName?: string, attrs?: string[]): void { index: number, template?: ComponentTemplate<any>, tagName?: string, attrs?: string[]): void {
ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex'); ngDevMode && assertEqual(currentView.bindingStartIndex, null, 'bindingStartIndex');
@ -1004,7 +998,7 @@ export function containerEnd() {
* *
* @param index The index of the container in the data array * @param index The index of the container in the data array
*/ */
export function refreshContainer(index: number): void { export function containerRefreshStart(index: number): void {
ngDevMode && assertDataInRange(index); ngDevMode && assertDataInRange(index);
previousOrParentNode = data[index] as LNode; previousOrParentNode = data[index] as LNode;
ngDevMode && assertNodeType(previousOrParentNode, LNodeFlags.Container); ngDevMode && assertNodeType(previousOrParentNode, LNodeFlags.Container);
@ -1017,7 +1011,7 @@ export function refreshContainer(index: number): void {
* *
* Marking the end of ViewContainer is the time when to child Views get inserted or removed. * Marking the end of ViewContainer is the time when to child Views get inserted or removed.
*/ */
export function refreshContainerEnd(): void { export function containerRefreshEnd(): void {
if (isParent) { if (isParent) {
isParent = false; isParent = false;
} else { } else {
@ -1041,7 +1035,7 @@ export function refreshContainerEnd(): void {
* @param viewBlockId The ID of this view * @param viewBlockId The ID of this view
* @return Whether or not this view is in creation mode * @return Whether or not this view is in creation mode
*/ */
export function viewCreate(viewBlockId: number): boolean { export function viewStart(viewBlockId: number): boolean {
const container = (isParent ? previousOrParentNode : previousOrParentNode.parent !) as LContainer; const container = (isParent ? previousOrParentNode : previousOrParentNode.parent !) as LContainer;
ngDevMode && assertNodeType(container, LNodeFlags.Container); ngDevMode && assertNodeType(container, LNodeFlags.Container);
const containerState = container.data; const containerState = container.data;
@ -1088,9 +1082,7 @@ function initViewStaticData(viewIndex: number, parent: LContainer): NgStaticData
return containerStatic[viewIndex]; return containerStatic[viewIndex];
} }
/** /** Marks the end of the LView. */
* Marks the end of the LView.
*/
export function viewEnd(): void { export function viewEnd(): void {
isParent = false; isParent = false;
const viewNode = previousOrParentNode = currentView.node as LView; const viewNode = previousOrParentNode = currentView.node as LView;
@ -1113,8 +1105,16 @@ export function viewEnd(): void {
} }
///////////// /////////////
/**
export const refreshComponent: * Refreshes the component view.
*
* In other words, enters the component's view and processes it to update bindings, queries, etc.
*
* @param directiveIndex
* @param elementIndex
* @param template
*/
export const componentRefresh:
<T>(directiveIndex: number, elementIndex: number, template: ComponentTemplate<T>) => <T>(directiveIndex: number, elementIndex: number, template: ComponentTemplate<T>) =>
void = function<T>( void = function<T>(
this: undefined | {template: ComponentTemplate<T>}, directiveIndex: number, this: undefined | {template: ComponentTemplate<T>}, directiveIndex: number,
@ -1143,7 +1143,7 @@ export const refreshComponent:
* *
* @param {CssSelector[]} selectors * @param {CssSelector[]} selectors
*/ */
export function distributeProjectedNodes(selectors?: CssSelector[]): LNode[][] { export function projectionDef(selectors?: CssSelector[]): LNode[][] {
const noOfNodeBuckets = selectors ? selectors.length + 1 : 1; const noOfNodeBuckets = selectors ? selectors.length + 1 : 1;
const distributedNodes = new Array<LNode[]>(noOfNodeBuckets); const distributedNodes = new Array<LNode[]>(noOfNodeBuckets);
for (let i = 0; i < noOfNodeBuckets; i++) { for (let i = 0; i < noOfNodeBuckets; i++) {
@ -1189,13 +1189,13 @@ export function distributeProjectedNodes(selectors?: CssSelector[]): LNode[][] {
/** /**
* Inserts previously re-distributed projected nodes. This instruction must be preceded by a call * Inserts previously re-distributed projected nodes. This instruction must be preceded by a call
* to the distributeProjectedNodes instruction. * to the projectionDef instruction.
* *
* @param {number} nodeIndex * @param {number} nodeIndex
* @param {number} localIndex - index under which distribution of projected nodes was memorized * @param {number} localIndex - index under which distribution of projected nodes was memorized
* @param {number} selectorIndex - 0 means <ng-content> without any selector * @param {number} selectorIndex - 0 means <ng-content> without any selector
*/ */
export function contentProjection( export function projection(
nodeIndex: number, localIndex: number, selectorIndex: number = 0): void { nodeIndex: number, localIndex: number, selectorIndex: number = 0): void {
const projectedNodes: ProjectionState = []; const projectedNodes: ProjectionState = [];
const node = createLNode(nodeIndex, LNodeFlags.Projection, null, projectedNodes); const node = createLNode(nodeIndex, LNodeFlags.Projection, null, projectedNodes);
@ -1228,8 +1228,8 @@ export function contentProjection(
/** /**
* Given a current view, finds the nearest component's host (LElement). * Given a current view, finds the nearest component's host (LElement).
* *
* @param {ViewState} viewState * @param viewState ViewState for which we want a host element node
* @returns {LElement} * @returns The host node
*/ */
function findComponentHost(viewState: ViewState): LElement { function findComponentHost(viewState: ViewState): LElement {
let viewRootLNode = viewState.node; let viewRootLNode = viewState.node;
@ -1246,13 +1246,13 @@ function findComponentHost(viewState: ViewState): LElement {
} }
/** /**
* Adds a ViewState or a ContainerState to the end of the current * Adds a ViewState or a ContainerState to the end of the current view tree.
* view tree.
* *
* This structure will be used to traverse through nested views * This structure will be used to traverse through nested views to remove listeners
* to remove listeners and call onDestroy callbacks. * and call onDestroy callbacks.
* *
* @param {ViewState | ContainerState} state * @param state The ViewState or ContainerState to add to the view tree
* @returns The state passed in
*/ */
export function addToViewTree<T extends ViewState|ContainerState>(state: T): T { export function addToViewTree<T extends ViewState|ContainerState>(state: T): T {
currentView.tail ? (currentView.tail.next = state) : (currentView.child = state); currentView.tail ? (currentView.tail.next = state) : (currentView.child = state);
@ -1699,7 +1699,7 @@ function valueInData<T>(data: any[], index: number, value?: T): T {
return value !; return value !;
} }
export function queryCreate<T>(predicate: Type<any>| any[], descend?: boolean): QueryList<T> { export function query<T>(predicate: Type<any>| any[], descend?: boolean): QueryList<T> {
ngDevMode && assertPreviousIsParent(); ngDevMode && assertPreviousIsParent();
const queryList = new QueryList<T>(); const queryList = new QueryList<T>();
const query = currentQuery || (currentQuery = new QueryState_()); const query = currentQuery || (currentQuery = new QueryState_());

View File

@ -7,7 +7,7 @@
*/ */
import {Type} from '../core'; import {Type} from '../core';
import {diPublic, refreshComponent} from './instructions'; import {diPublic, componentRefresh} from './instructions';
/** /**
@ -150,7 +150,7 @@ export function defineComponent<T>(componentDefinition: ComponentDefArgs<T>): Co
n: componentDefinition.factory, n: componentDefinition.factory,
tag: (componentDefinition as ComponentDefArgs<T>).tag || null !, tag: (componentDefinition as ComponentDefArgs<T>).tag || null !,
template: (componentDefinition as ComponentDefArgs<T>).template || null !, template: (componentDefinition as ComponentDefArgs<T>).template || null !,
r: componentDefinition.refresh || refreshComponent, r: componentDefinition.refresh || componentRefresh,
inputs: invertObject(componentDefinition.inputs), inputs: invertObject(componentDefinition.inputs),
outputs: invertObject(componentDefinition.outputs), outputs: invertObject(componentDefinition.outputs),
methods: invertObject(componentDefinition.methods), methods: invertObject(componentDefinition.methods),

View File

@ -209,6 +209,6 @@ class QueryList_<T>/* implements viewEngine.QueryList<T> */ {
export type QueryList<T> = viewEngine.QueryList<T>; export type QueryList<T> = viewEngine.QueryList<T>;
export const QueryList: typeof viewEngine.QueryList = QueryList_ as any; export const QueryList: typeof viewEngine.QueryList = QueryList_ as any;
export function refreshQuery(query: QueryList<any>): boolean { export function queryRefresh(query: QueryList<any>): boolean {
return (query as any as QueryList_<any>)._refresh(); return (query as any as QueryList_<any>)._refresh();
} }

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, E, T, V, c, defineComponent, e, rC, rc, v} from '../../src/render3/index'; import {C, E, T, V, c, defineComponent, e, cR, cr, v} from '../../src/render3/index';
import {document, renderComponent} from './render_util'; import {document, renderComponent} from './render_util';
@ -39,7 +39,7 @@ describe('iv perf test', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
for (let i = 0; i < count; i++) { for (let i = 0; i < count; i++) {
let cm0 = V(0); let cm0 = V(0);
@ -53,7 +53,7 @@ describe('iv perf test', () => {
v(); v();
} }
} }
rc(); cr();
}, },
factory: () => new Component factory: () => new Component
}); });

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, D, E, P, T, V, c, dP, detectChanges, e, m, rC, rc, v} from '../../src/render3/index'; import {C, D, E, P, T, V, c, pD, detectChanges, e, m, cR, cr, v} from '../../src/render3/index';
import {createComponent, renderComponent, toHtml} from './render_util'; import {createComponent, renderComponent, toHtml} from './render_util';
@ -18,7 +18,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ P(2, 0); } { P(2, 0); }
e(); e();
@ -46,7 +46,7 @@ describe('content projection', () => {
it('should project content when root.', () => { it('should project content when root.', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
P(1, 0); P(1, 0);
} }
}); });
@ -68,7 +68,7 @@ describe('content projection', () => {
it('should re-project content when root.', () => { it('should re-project content when root.', () => {
const GrandChild = createComponent('grand-child', function(ctx: any, cm: boolean) { const GrandChild = createComponent('grand-child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ P(2, 0); } { P(2, 0); }
e(); e();
@ -76,7 +76,7 @@ describe('content projection', () => {
}); });
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, GrandChild.ngComponentDef); E(1, GrandChild.ngComponentDef);
{ {
D(2, GrandChild.ngComponentDef.n(), GrandChild.ngComponentDef); D(2, GrandChild.ngComponentDef.n(), GrandChild.ngComponentDef);
@ -108,7 +108,7 @@ describe('content projection', () => {
it('should project content with container.', () => { it('should project content with container.', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ P(2, 0); } { P(2, 0); }
e(); e();
@ -126,7 +126,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(3); cR(3);
{ {
if (ctx.value) { if (ctx.value) {
if (V(0)) { if (V(0)) {
@ -135,7 +135,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
Child.ngComponentDef.r(1, 0); Child.ngComponentDef.r(1, 0);
}); });
const parent = renderComponent(Parent); const parent = renderComponent(Parent);
@ -151,7 +151,7 @@ describe('content projection', () => {
it('should project content with container into root', () => { it('should project content with container into root', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
P(1, 0); P(1, 0);
} }
}); });
@ -165,7 +165,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
if (ctx.value) { if (ctx.value) {
if (V(0)) { if (V(0)) {
@ -174,7 +174,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
Child.ngComponentDef.r(1, 0); Child.ngComponentDef.r(1, 0);
}); });
const parent = renderComponent(Parent); const parent = renderComponent(Parent);
@ -192,7 +192,7 @@ describe('content projection', () => {
it('should project content with container and if-else.', () => { it('should project content with container and if-else.', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ P(2, 0); } { P(2, 0); }
e(); e();
@ -210,7 +210,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(3); cR(3);
{ {
if (ctx.value) { if (ctx.value) {
if (V(0)) { if (V(0)) {
@ -224,7 +224,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
Child.ngComponentDef.r(1, 0); Child.ngComponentDef.r(1, 0);
}); });
const parent = renderComponent(Parent); const parent = renderComponent(Parent);
@ -251,7 +251,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ {
C(2); C(2);
@ -259,7 +259,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
if (!ctx.skipContent) { if (!ctx.skipContent) {
if (V(0)) { if (V(0)) {
@ -270,7 +270,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
}); });
/** /**
@ -308,7 +308,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ {
C(2); C(2);
@ -316,7 +316,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
if (!ctx.skipContent) { if (!ctx.skipContent) {
if (V(0)) { if (V(0)) {
@ -325,7 +325,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
}); });
/** /**
@ -357,7 +357,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, 'div'); E(1, 'div');
{ P(2, 0); } { P(2, 0); }
e(); e();
@ -406,7 +406,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
P(1, 0); P(1, 0);
E(2, 'div'); E(2, 'div');
{ {
@ -415,7 +415,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(3); cR(3);
{ {
if (ctx.show) { if (ctx.show) {
if (V(0)) { if (V(0)) {
@ -424,7 +424,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
}); });
/** /**
@ -459,7 +459,7 @@ describe('content projection', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, m(0,
dP([[[['span', 'title', 'toFirst'], null]], [[['span', 'title', 'toSecond'], null]]])); pD([[[['span', 'title', 'toFirst'], null]], [[['span', 'title', 'toSecond'], null]]]));
E(1, 'div', ['id', 'first']); E(1, 'div', ['id', 'first']);
{ P(2, 0, 1); } { P(2, 0, 1); }
e(); e();
@ -506,7 +506,7 @@ describe('content projection', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, m(0,
dP([[[['span', 'class', 'toFirst'], null]], [[['span', 'class', 'toSecond'], null]]])); pD([[[['span', 'class', 'toFirst'], null]], [[['span', 'class', 'toSecond'], null]]]));
E(1, 'div', ['id', 'first']); E(1, 'div', ['id', 'first']);
{ P(2, 0, 1); } { P(2, 0, 1); }
e(); e();
@ -553,7 +553,7 @@ describe('content projection', () => {
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, m(0,
dP([[[['span', 'class', 'toFirst'], null]], [[['span', 'class', 'toSecond'], null]]])); pD([[[['span', 'class', 'toFirst'], null]], [[['span', 'class', 'toSecond'], null]]]));
E(1, 'div', ['id', 'first']); E(1, 'div', ['id', 'first']);
{ P(2, 0, 1); } { P(2, 0, 1); }
e(); e();
@ -599,7 +599,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP([[[['span'], null]], [[['span', 'class', 'toSecond'], null]]])); m(0, pD([[[['span'], null]], [[['span', 'class', 'toSecond'], null]]]));
E(1, 'div', ['id', 'first']); E(1, 'div', ['id', 'first']);
{ P(2, 0, 1); } { P(2, 0, 1); }
e(); e();
@ -645,7 +645,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP([[[['span', 'class', 'toFirst'], null]]])); m(0, pD([[[['span', 'class', 'toFirst'], null]]]));
E(1, 'div', ['id', 'first']); E(1, 'div', ['id', 'first']);
{ P(2, 0, 1); } { P(2, 0, 1); }
e(); e();
@ -692,7 +692,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP([[[['span', 'class', 'toSecond'], null]]])); m(0, pD([[[['span', 'class', 'toSecond'], null]]]));
E(1, 'div', ['id', 'first']); E(1, 'div', ['id', 'first']);
{ P(2, 0); } { P(2, 0); }
e(); e();
@ -746,7 +746,7 @@ describe('content projection', () => {
*/ */
const GrandChild = createComponent('grand-child', function(ctx: any, cm: boolean) { const GrandChild = createComponent('grand-child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP([[[['span'], null]]])); m(0, pD([[[['span'], null]]]));
P(1, 0, 1); P(1, 0, 1);
E(2, 'hr'); E(2, 'hr');
e(); e();
@ -762,7 +762,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP()); m(0, pD());
E(1, GrandChild.ngComponentDef); E(1, GrandChild.ngComponentDef);
{ {
D(2, GrandChild.ngComponentDef.n(), GrandChild.ngComponentDef); D(2, GrandChild.ngComponentDef.n(), GrandChild.ngComponentDef);
@ -812,7 +812,7 @@ describe('content projection', () => {
*/ */
const Child = createComponent('child', function(ctx: any, cm: boolean) { const Child = createComponent('child', function(ctx: any, cm: boolean) {
if (cm) { if (cm) {
m(0, dP([[[['div'], null]]])); m(0, pD([[[['div'], null]]]));
E(1, 'span'); E(1, 'span');
{ P(2, 0, 1); } { P(2, 0, 1); }
e(); e();
@ -834,7 +834,7 @@ describe('content projection', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
if (true) { if (true) {
if (V(0)) { if (V(0)) {
@ -845,7 +845,7 @@ describe('content projection', () => {
v(); v();
} }
} }
rc(); cr();
Child.ngComponentDef.r(1, 0); Child.ngComponentDef.r(1, 0);
}); });
const parent = renderComponent(Parent); const parent = renderComponent(Parent);

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, E, T, V, b, c, e, rC, rc, t, v} from '../../src/render3/index'; import {C, E, T, V, b, c, e, cR, cr, t, v} from '../../src/render3/index';
import {renderToHtml} from './render_util'; import {renderToHtml} from './render_util';
@ -23,7 +23,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
if (ctx.condition) { if (ctx.condition) {
let cm1 = V(1); let cm1 = V(1);
@ -38,7 +38,7 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)).toEqual('<div><span>Hello</span></div>'); expect(renderToHtml(Template, ctx)).toEqual('<div><span>Hello</span></div>');
@ -74,7 +74,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
if (ctx.condition) { if (ctx.condition) {
let cm1 = V(1); let cm1 = V(1);
@ -87,7 +87,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
if (ctx.condition2) { if (ctx.condition2) {
let cm2 = V(2); let cm2 = V(2);
@ -99,12 +99,12 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)).toEqual('<div><span>Hello</span></div>'); expect(renderToHtml(Template, ctx)).toEqual('<div><span>Hello</span></div>');
@ -143,7 +143,7 @@ describe('JS control flow', () => {
C(2); C(2);
c(); c();
} }
rC(2); cR(2);
{ {
if (ctx.condition1) { if (ctx.condition1) {
let cm0 = V(0); let cm0 = V(0);
@ -152,7 +152,7 @@ describe('JS control flow', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition2) { if (ctx.condition2) {
let cm0 = V(0); let cm0 = V(0);
@ -164,12 +164,12 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, {condition1: true, condition2: true})) expect(renderToHtml(Template, {condition1: true, condition2: true}))
@ -191,7 +191,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
for (let i = 0; i < ctx.data.length; i++) { for (let i = 0; i < ctx.data.length; i++) {
let cm1 = V(1); let cm1 = V(1);
@ -206,7 +206,7 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)).toEqual('<ul><li>a</li><li>b</li><li>c</li></ul>'); expect(renderToHtml(Template, ctx)).toEqual('<ul><li>a</li><li>b</li><li>c</li></ul>');
@ -240,7 +240,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
for (let i = 0; i < ctx.data[0].length; i++) { for (let i = 0; i < ctx.data[0].length; i++) {
let cm1 = V(1); let cm1 = V(1);
@ -253,7 +253,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
ctx.data[1].forEach((value: string, ind: number) => { ctx.data[1].forEach((value: string, ind: number) => {
if (V(2)) { if (V(2)) {
@ -263,12 +263,12 @@ describe('JS control flow', () => {
v(); v();
}); });
} }
rc(); cr();
} }
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)).toEqual('<ul><li>aman</li><li>bmbn</li><li>cmcn</li></ul>'); expect(renderToHtml(Template, ctx)).toEqual('<ul><li>aman</li><li>bmbn</li><li>cmcn</li></ul>');
@ -303,7 +303,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
for (let i = 0; i < ctx.cafes.length; i++) { for (let i = 0; i < ctx.cafes.length; i++) {
let cm1 = V(1); let cm1 = V(1);
@ -317,7 +317,7 @@ describe('JS control flow', () => {
T(3, '-'); T(3, '-');
} }
t(1, b(ctx.cafes[i].name)); t(1, b(ctx.cafes[i].name));
rC(2); cR(2);
{ {
for (let j = 0; j < ctx.cafes[i].entrees.length; j++) { for (let j = 0; j < ctx.cafes[i].entrees.length; j++) {
if (V(1)) { if (V(1)) {
@ -327,12 +327,12 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
v(); v();
} }
} }
rc(); cr();
} }
const ctx = { const ctx = {
@ -385,7 +385,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
for (let i = 0; i < ctx.cafes.length; i++) { for (let i = 0; i < ctx.cafes.length; i++) {
let cm1 = V(1); let cm1 = V(1);
@ -399,7 +399,7 @@ describe('JS control flow', () => {
T(3, '-'); T(3, '-');
} }
t(1, b(ctx.cafes[i].name)); t(1, b(ctx.cafes[i].name));
rC(2); cR(2);
{ {
for (let j = 0; j < ctx.cafes[i].entrees.length; j++) { for (let j = 0; j < ctx.cafes[i].entrees.length; j++) {
let cm1 = V(1); let cm1 = V(1);
@ -412,7 +412,7 @@ describe('JS control flow', () => {
c(); c();
} }
t(1, b(ctx.cafes[i].entrees[j].name)); t(1, b(ctx.cafes[i].entrees[j].name));
rC(2); cR(2);
{ {
for (let k = 0; k < ctx.cafes[i].entrees[j].foods.length; k++) { for (let k = 0; k < ctx.cafes[i].entrees[j].foods.length; k++) {
if (V(1)) { if (V(1)) {
@ -422,17 +422,17 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
v(); v();
} }
} }
rc(); cr();
} }
v(); v();
} }
} }
rc(); cr();
} }
const ctx = { const ctx = {
@ -476,7 +476,7 @@ describe('JS control flow', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
if (ctx.condition) { if (ctx.condition) {
let cm1 = V(1); let cm1 = V(1);
@ -500,7 +500,7 @@ describe('JS control flow', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)).toEqual('<div><span>Hello</span></div>'); expect(renderToHtml(Template, ctx)).toEqual('<div><span>Hello</span></div>');
@ -527,7 +527,7 @@ describe('JS for loop', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
for (let i = 0; i < ctx.data1.length; i++) { for (let i = 0; i < ctx.data1.length; i++) {
if (V(1)) { if (V(1)) {
@ -544,7 +544,7 @@ describe('JS for loop', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)).toEqual('<div>abc12</div>'); expect(renderToHtml(Template, ctx)).toEqual('<div>abc12</div>');
@ -587,20 +587,20 @@ describe('function calls', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
let cm0 = V(0); let cm0 = V(0);
{ spanify({message: ctx.data[0]}, cm0); } { spanify({message: ctx.data[0]}, cm0); }
v(); v();
} }
rc(); cr();
rC(3); cR(3);
{ {
let cm0 = V(0); let cm0 = V(0);
{ spanify({message: ctx.data[1]}, cm0); } { spanify({message: ctx.data[1]}, cm0); }
v(); v();
} }
rc(); cr();
} }
expect(renderToHtml(Template, ctx)) expect(renderToHtml(Template, ctx))

View File

@ -9,7 +9,7 @@
import {ElementRef, TemplateRef, ViewContainerRef} from '@angular/core'; import {ElementRef, TemplateRef, ViewContainerRef} from '@angular/core';
import {bloomFindPossibleInjector} from '../../src/render3/di'; import {bloomFindPossibleInjector} from '../../src/render3/di';
import {C, D, E, PublicFeature, T, V, b, b2, c, defineDirective, e, inject, injectElementRef, injectTemplateRef, injectViewContainerRef, rC, rc, t, v} from '../../src/render3/index'; import {C, D, E, PublicFeature, T, V, b, b2, c, defineDirective, e, inject, injectElementRef, injectTemplateRef, injectViewContainerRef, cR, cr, t, v} from '../../src/render3/index';
import {bloomAdd, createLNode, createViewState, enterView, getOrCreateNodeInjector, leaveView} from '../../src/render3/instructions'; import {bloomAdd, createLNode, createViewState, enterView, getOrCreateNodeInjector, leaveView} from '../../src/render3/instructions';
import {LNodeFlags, LNodeInjector} from '../../src/render3/l_node'; import {LNodeFlags, LNodeInjector} from '../../src/render3/l_node';
@ -291,7 +291,7 @@ describe('di', () => {
} }
e(); e();
} }
rC(2); cR(2);
{ {
if (V(0)) { if (V(0)) {
E(0, 'span'); E(0, 'span');
@ -305,7 +305,7 @@ describe('di', () => {
t(3, b2('', D<ChildDirective>(1).value, '-', D<Child2Directive>(2).value, '')); t(3, b2('', D<ChildDirective>(1).value, '-', D<Child2Directive>(2).value, ''));
v(); v();
} }
rc(); cr();
} }
expect(renderToHtml(Template, {})).toEqual('<div><span>ParentDirective-true</span></div>'); expect(renderToHtml(Template, {})).toEqual('<div><span>ParentDirective-true</span></div>');

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, D, E, T, V, a, b, c, defineComponent, defineDirective, e, k, p, rC, rc, t, v} from '../../src/render3/index'; import {C, D, E, T, V, a, b, c, defineComponent, defineDirective, e, k, p, cR, cr, t, v} from '../../src/render3/index';
import {renderToHtml} from './render_util'; import {renderToHtml} from './render_util';
@ -267,7 +267,7 @@ describe('exports', () => {
} }
e(); e();
} }
rC(1); cR(1);
{ {
if (ctx.condition) { if (ctx.condition) {
let cm1 = V(1); let cm1 = V(1);
@ -283,7 +283,7 @@ describe('exports', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, { expect(renderToHtml(Template, {

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, D, E, NC, T, V, a, b, b1, b2, b3, b4, b5, b6, b7, b8, bV, c, defineComponent, e, k, p, r, rC, rc, s, t, v} from '../../src/render3/index'; import {C, D, E, NC, T, V, a, b, b1, b2, b3, b4, b5, b6, b7, b8, bV, c, defineComponent, e, k, p, r, cR, cr, s, t, v} from '../../src/render3/index';
import {NO_CHANGE} from '../../src/render3/instructions'; import {NO_CHANGE} from '../../src/render3/instructions';
import {containerEl, renderToHtml} from './render_util'; import {containerEl, renderToHtml} from './render_util';
@ -363,7 +363,7 @@ describe('iv integration test', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -374,7 +374,7 @@ describe('iv integration test', () => {
v(); v();
} }
} }
rc(); cr();
}, },
factory: () => new MyComp, factory: () => new MyComp,
inputs: {condition: 'condition'} inputs: {condition: 'condition'}
@ -487,7 +487,7 @@ describe('iv integration test', () => {
e(); e();
} }
a(0, 'title', b(ctx.title)); a(0, 'title', b(ctx.title));
rC(1); cR(1);
{ {
if (true) { if (true) {
let cm1 = V(1); let cm1 = V(1);
@ -502,7 +502,7 @@ describe('iv integration test', () => {
v(); v();
} }
} }
rc(); cr();
} }
// initial binding // initial binding
@ -602,7 +602,7 @@ describe('iv integration test', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -613,7 +613,7 @@ describe('iv integration test', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect((Template as any).ngStaticData).toBeUndefined(); expect((Template as any).ngStaticData).toBeUndefined();

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, ComponentTemplate, D, E, L, LifeCycleGuard, T, V, b, c, defineComponent, e, l, p, rC, rc, v} from '../../src/render3/index'; import {C, ComponentTemplate, D, E, L, LifecycleHook, T, V, b, c, defineComponent, e, l, p, cR, cr, v} from '../../src/render3/index';
import {containerEl, renderToHtml} from './render_util'; import {containerEl, renderToHtml} from './render_util';
describe('lifecycles', () => { describe('lifecycles', () => {
@ -36,7 +36,7 @@ describe('lifecycles', () => {
tag: name, tag: name,
factory: () => { factory: () => {
const comp = new Component(); const comp = new Component();
l(LifeCycleGuard.ON_DESTROY, comp, comp.ngOnDestroy); l(LifecycleHook.ON_DESTROY, comp, comp.ngOnDestroy);
return comp; return comp;
}, },
inputs: {val: 'val'}, inputs: {val: 'val'},
@ -57,7 +57,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -69,7 +69,7 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
} }
renderToHtml(Template, {condition: true}); renderToHtml(Template, {condition: true});
@ -90,7 +90,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -108,7 +108,7 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
} }
renderToHtml(Template, {condition: true}); renderToHtml(Template, {condition: true});
@ -130,7 +130,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -142,7 +142,7 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
} }
renderToHtml(Template, {condition: true}); renderToHtml(Template, {condition: true});
@ -174,7 +174,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -186,7 +186,7 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
} }
renderToHtml(Template, {condition: true}); renderToHtml(Template, {condition: true});
@ -211,7 +211,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -226,7 +226,7 @@ describe('lifecycles', () => {
} }
p(0, 'val', b('1')); p(0, 'val', b('1'));
Comp.ngComponentDef.r(1, 0); Comp.ngComponentDef.r(1, 0);
rC(2); cR(2);
{ {
if (ctx.condition2) { if (ctx.condition2) {
if (V(0)) { if (V(0)) {
@ -239,13 +239,13 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
p(3, 'val', b('3')); p(3, 'val', b('3'));
Comp.ngComponentDef.r(4, 3); Comp.ngComponentDef.r(4, 3);
v(); v();
} }
} }
rc(); cr();
} }
renderToHtml(Template, {condition: true, condition2: true}); renderToHtml(Template, {condition: true, condition2: true});
@ -289,7 +289,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -304,7 +304,7 @@ describe('lifecycles', () => {
} }
p(0, 'val', b('1')); p(0, 'val', b('1'));
Comp.ngComponentDef.r(1, 0); Comp.ngComponentDef.r(1, 0);
rC(2); cR(2);
{ {
for (let j = 2; j < ctx.len; j++) { for (let j = 2; j < ctx.len; j++) {
if (V(0)) { if (V(0)) {
@ -317,13 +317,13 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
p(3, 'val', b('5')); p(3, 'val', b('5'));
Comp.ngComponentDef.r(4, 3); Comp.ngComponentDef.r(4, 3);
v(); v();
} }
} }
rc(); cr();
} }
/** /**
@ -369,7 +369,7 @@ describe('lifecycles', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -393,7 +393,7 @@ describe('lifecycles', () => {
v(); v();
} }
} }
rc(); cr();
} }
class App { class App {

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {C, D, E, L, T, V, c, defineComponent, e, rC, rc, v} from '../../src/render3/index'; import {C, D, E, L, T, V, c, defineComponent, e, cR, cr, v} from '../../src/render3/index';
import {containerEl, renderComponent, renderToHtml} from './render_util'; import {containerEl, renderComponent, renderToHtml} from './render_util';
@ -89,7 +89,7 @@ describe('event listeners', () => {
if (cm) { if (cm) {
C(0); C(0);
} }
rC(0); cR(0);
{ {
if (ctx.showing) { if (ctx.showing) {
if (V(1)) { if (V(1)) {
@ -103,7 +103,7 @@ describe('event listeners', () => {
v(); v();
} }
} }
rc(); cr();
} }
let comp = new MyComp(); let comp = new MyComp();
@ -138,7 +138,7 @@ describe('event listeners', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.showing) { if (ctx.showing) {
if (V(0)) { if (V(0)) {
@ -146,7 +146,7 @@ describe('event listeners', () => {
C(1); C(1);
c(); c();
} }
rC(1); cR(1);
{ {
if (ctx.button) { if (ctx.button) {
if (V(0)) { if (V(0)) {
@ -160,11 +160,11 @@ describe('event listeners', () => {
v(); v();
} }
} }
rc(); cr();
v(); v();
} }
} }
rc(); cr();
} }
const comp = {showing: true, counter: 0, button: true, onClick: function() { this.counter++; }}; const comp = {showing: true, counter: 0, button: true, onClick: function() { this.counter++; }};
@ -198,7 +198,7 @@ describe('event listeners', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.showing) { if (ctx.showing) {
if (V(0)) { if (V(0)) {
@ -215,7 +215,7 @@ describe('event listeners', () => {
v(); v();
} }
} }
rc(); cr();
} }
const ctx = {showing: true}; const ctx = {showing: true};
@ -255,7 +255,7 @@ describe('event listeners', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -265,7 +265,7 @@ describe('event listeners', () => {
C(2); C(2);
c(); c();
} }
rC(1); cR(1);
{ {
if (ctx.sub1) { if (ctx.sub1) {
if (V(0)) { if (V(0)) {
@ -279,8 +279,8 @@ describe('event listeners', () => {
v(); v();
} }
} }
rc(); cr();
rC(2); cR(2);
{ {
if (ctx.sub2) { if (ctx.sub2) {
if (V(0)) { if (V(0)) {
@ -294,11 +294,11 @@ describe('event listeners', () => {
v(); v();
} }
} }
rc(); cr();
v(); v();
} }
} }
rc(); cr();
} }
const ctx = {condition: true, counter1: 0, counter2: 0, sub1: true, sub2: true}; const ctx = {condition: true, counter1: 0, counter2: 0, sub1: true, sub2: true};

View File

@ -8,7 +8,7 @@
import {EventEmitter} from '@angular/core'; import {EventEmitter} from '@angular/core';
import {C, D, E, L, LifeCycleGuard, T, V, b, c, defineComponent, defineDirective, e, l, p, rC, rc, v} from '../../src/render3/index'; import {C, D, E, L, LifecycleHook, T, V, b, c, defineComponent, defineDirective, e, l, p, cR, cr, v} from '../../src/render3/index';
import {containerEl, renderToHtml} from './render_util'; import {containerEl, renderToHtml} from './render_util';
@ -129,7 +129,7 @@ describe('outputs', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -144,7 +144,7 @@ describe('outputs', () => {
v(); v();
} }
} }
rc(); cr();
} }
let counter = 0; let counter = 0;
@ -176,14 +176,14 @@ describe('outputs', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition2) { if (ctx.condition2) {
if (V(0)) { if (V(0)) {
@ -198,11 +198,11 @@ describe('outputs', () => {
v(); v();
} }
} }
rc(); cr();
v(); v();
} }
} }
rc(); cr();
} }
let counter = 0; let counter = 0;
@ -232,7 +232,7 @@ describe('outputs', () => {
template: function(ctx: any, cm: boolean) {}, template: function(ctx: any, cm: boolean) {},
factory: () => { factory: () => {
destroyComp = new DestroyComp(); destroyComp = new DestroyComp();
l(LifeCycleGuard.ON_DESTROY, destroyComp, destroyComp.ngOnDestroy); l(LifecycleHook.ON_DESTROY, destroyComp, destroyComp.ngOnDestroy);
return destroyComp; return destroyComp;
} }
}); });
@ -250,7 +250,7 @@ describe('outputs', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -275,7 +275,7 @@ describe('outputs', () => {
v(); v();
} }
} }
rc(); cr();
} }
let clickCounter = 0; let clickCounter = 0;
@ -420,7 +420,7 @@ describe('outputs', () => {
C(2); C(2);
c(); c();
} }
rC(2); cR(2);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -445,7 +445,7 @@ describe('outputs', () => {
v(); v();
} }
} }
rc(); cr();
} }
let counter = 0; let counter = 0;

View File

@ -8,7 +8,7 @@
import {EventEmitter} from '@angular/core'; import {EventEmitter} from '@angular/core';
import {C, D, E, L, T, V, b, b1, c, defineComponent, defineDirective, e, p, rC, rc, t, v} from '../../src/render3/index'; import {C, D, E, L, T, V, b, b1, c, defineComponent, defineDirective, e, p, cR, cr, t, v} from '../../src/render3/index';
import {NO_CHANGE} from '../../src/render3/instructions'; import {NO_CHANGE} from '../../src/render3/instructions';
import {renderToHtml} from './render_util'; import {renderToHtml} from './render_util';
@ -270,7 +270,7 @@ describe('elementProperty', () => {
c(); c();
} }
p(0, 'id', b(ctx.id1)); p(0, 'id', b(ctx.id1));
rC(3); cR(3);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -293,7 +293,7 @@ describe('elementProperty', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, {condition: true, id1: 'one', id2: 'two', id3: 'three'})) expect(renderToHtml(Template, {condition: true, id1: 'one', id2: 'two', id3: 'three'}))
@ -467,7 +467,7 @@ describe('elementProperty', () => {
C(2); C(2);
c(); c();
} }
rC(2); cR(2);
{ {
if (ctx.condition) { if (ctx.condition) {
if (V(0)) { if (V(0)) {
@ -485,7 +485,7 @@ describe('elementProperty', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, { expect(renderToHtml(Template, {
@ -530,7 +530,7 @@ describe('elementProperty', () => {
C(0); C(0);
c(); c();
} }
rC(0); cR(0);
{ {
for (let i = 0; i < 2; i++) { for (let i = 0; i < 2; i++) {
if (V(0)) { if (V(0)) {
@ -542,7 +542,7 @@ describe('elementProperty', () => {
v(); v();
} }
} }
rc(); cr();
} }
expect(renderToHtml(Template, {})) expect(renderToHtml(Template, {}))

View File

@ -6,7 +6,7 @@
* found in the LICENSE file at https://angular.io/license * found in the LICENSE file at https://angular.io/license
*/ */
import {D, E, Q, QueryList, e, m, rQ} from '../../src/render3/index'; import {D, E, Q, QueryList, e, m, qR} from '../../src/render3/index';
import {createComponent, renderComponent} from './render_util'; import {createComponent, renderComponent} from './render_util';
@ -40,8 +40,8 @@ describe('query', () => {
} }
e(); e();
} }
rQ(tmp = m<QueryList<any>>(0)) && (ctx.query0 = tmp as QueryList<any>); qR(tmp = m<QueryList<any>>(0)) && (ctx.query0 = tmp as QueryList<any>);
rQ(tmp = m<QueryList<any>>(1)) && (ctx.query1 = tmp as QueryList<any>); qR(tmp = m<QueryList<any>>(1)) && (ctx.query1 = tmp as QueryList<any>);
}); });
const parent = renderComponent(Cmp); const parent = renderComponent(Cmp);