MCPcopy
hub / github.com/angular/angular / evaluateStatements

Method evaluateStatements

packages/compiler/src/output/output_jit.ts:33–48  ·  view source on GitHub ↗

* * @param sourceUrl The URL of the generated code. * @param statements An array of Angular statement AST nodes to be evaluated. * @param refResolver Resolves `o.ExternalReference`s into values. * @param createSourceMaps If true then create a source-map for the generated code and include

(
    sourceUrl: string,
    statements: o.Statement[],
    refResolver: ExternalReferenceResolver,
    createSourceMaps: boolean,
  )

Source from the content-addressed store, hash-verified

31 * @returns A map of all the variables in the generated code.
32 */
33 evaluateStatements(
34 sourceUrl: string,
35 statements: o.Statement[],
36 refResolver: ExternalReferenceResolver,
37 createSourceMaps: boolean,
38 ): {[key: string]: any} {
39 const converter = new JitEmitterVisitor(refResolver);
40 const ctx = EmitterVisitorContext.createRoot();
41 // Ensure generated code is in strict mode
42 if (statements.length > 0 && !isUseStrictStatement(statements[0])) {
43 statements = [o.literal('use strict').toStmt(), ...statements];
44 }
45 converter.visitAllStatements(statements, ctx);
46 converter.createReturnStmt(ctx);
47 return this.evaluateCode(sourceUrl, ctx, converter.getArgs(), createSourceMaps);
48 }
49
50 /**
51 * Evaluate a piece of JIT generated code.

Callers 2

output_jit_spec.tsFile · 0.80
jitExpressionMethod · 0.80

Calls 6

createReturnStmtMethod · 0.95
evaluateCodeMethod · 0.95
getArgsMethod · 0.95
isUseStrictStatementFunction · 0.85
createRootMethod · 0.80
visitAllStatementsMethod · 0.80

Tested by

no test coverage detected