Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1116)

Unified Diff: third_party/pkg/angular/lib/core_dom/compiler.dart

Issue 1058283006: Update pubspecs and dependencies to get pkgbuild tests working. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/pkg/angular/lib/core_dom/common.dart ('k') | third_party/pkg/angular/lib/core_dom/cookies.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/pkg/angular/lib/core_dom/compiler.dart
diff --git a/third_party/pkg/angular/lib/core_dom/compiler.dart b/third_party/pkg/angular/lib/core_dom/compiler.dart
deleted file mode 100644
index 6a52ac8d1ceed75eb0ed728f72f150833bd00042..0000000000000000000000000000000000000000
--- a/third_party/pkg/angular/lib/core_dom/compiler.dart
+++ /dev/null
@@ -1,234 +0,0 @@
-part of angular.core.dom;
-
-@NgInjectableService()
-class Compiler {
- final Profiler _perf;
- final Parser _parser;
- final Expando _expando;
-
- Compiler(this._perf, this._parser, this._expando);
-
- _compileBlock(NodeCursor domCursor, NodeCursor templateCursor,
- List<DirectiveRef> useExistingDirectiveRefs,
- DirectiveMap directives) {
- if (domCursor.nodeList().length == 0) return null;
-
- var directivePositions = null; // don't pre-create to create sparse tree and prevent GC pressure.
- var cursorAlreadyAdvanced;
-
- do {
- var declaredDirectiveRefs = useExistingDirectiveRefs == null
- ? directives.selector(domCursor.nodeList()[0])
- : useExistingDirectiveRefs;
- var children = NgAnnotation.COMPILE_CHILDREN;
- var childDirectivePositions = null;
- List<DirectiveRef> usableDirectiveRefs = null;
-
- cursorAlreadyAdvanced = false;
-
- for (var j = 0; j < declaredDirectiveRefs.length; j++) {
- DirectiveRef directiveRef = declaredDirectiveRefs[j];
- NgAnnotation annotation = directiveRef.annotation;
- var blockFactory = null;
-
- if (annotation.children != children &&
- children == NgAnnotation.COMPILE_CHILDREN) {
- children = annotation.children;
- }
-
- if (children == NgAnnotation.TRANSCLUDE_CHILDREN) {
- var remainingDirectives = declaredDirectiveRefs.sublist(j + 1);
- blockFactory = compileTransclusion(
- domCursor, templateCursor,
- directiveRef, remainingDirectives, directives);
-
- // stop processing further directives since they belong to
- // transclusion
- j = declaredDirectiveRefs.length;
- }
- if (usableDirectiveRefs == null) usableDirectiveRefs = [];
- directiveRef.blockFactory = blockFactory;
- createMappings(directiveRef);
- usableDirectiveRefs.add(directiveRef);
- }
-
- if (children == NgAnnotation.COMPILE_CHILDREN && domCursor.descend()) {
- templateCursor.descend();
-
- childDirectivePositions =
- _compileBlock(domCursor, templateCursor, null, directives);
-
- domCursor.ascend();
- templateCursor.ascend();
- }
-
- if (childDirectivePositions != null || usableDirectiveRefs != null) {
- if (directivePositions == null) directivePositions = [];
- var directiveOffsetIndex = templateCursor.index;
-
- directivePositions
- ..add(directiveOffsetIndex)
- ..add(usableDirectiveRefs)
- ..add(childDirectivePositions);
- }
- } while (templateCursor.microNext() && domCursor.microNext());
-
- return directivePositions;
- }
-
- BlockFactory compileTransclusion(
- NodeCursor domCursor, NodeCursor templateCursor,
- DirectiveRef directiveRef,
- List<DirectiveRef> transcludedDirectiveRefs,
- DirectiveMap directives) {
- var anchorName = directiveRef.annotation.selector + (directiveRef.value != null ? '=' + directiveRef.value : '');
- var blockFactory;
- var blocks;
-
- var transcludeCursor = templateCursor.replaceWithAnchor(anchorName);
- var domCursorIndex = domCursor.index;
- var directivePositions =
- _compileBlock(domCursor, transcludeCursor, transcludedDirectiveRefs, directives);
- if (directivePositions == null) directivePositions = [];
-
- blockFactory = new BlockFactory(transcludeCursor.elements, directivePositions, _perf, _expando);
- domCursor.index = domCursorIndex;
-
- if (domCursor.isInstance()) {
- domCursor.insertAnchorBefore(anchorName);
- blocks = [blockFactory(domCursor.nodeList())];
- domCursor.macroNext();
- templateCursor.macroNext();
- while (domCursor.isValid() && domCursor.isInstance()) {
- blocks.add(blockFactory(domCursor.nodeList()));
- domCursor.macroNext();
- templateCursor.remove();
- }
- } else {
- domCursor.replaceWithAnchor(anchorName);
- }
-
- return blockFactory;
- }
-
- BlockFactory call(List<dom.Node> elements, DirectiveMap directives) {
- var timerId;
- assert((timerId = _perf.startTimer('ng.compile', _html(elements))) != false);
- List<dom.Node> domElements = elements;
- List<dom.Node> templateElements = cloneElements(domElements);
- var directivePositions = _compileBlock(
- new NodeCursor(domElements), new NodeCursor(templateElements),
- null, directives);
-
- var blockFactory = new BlockFactory(templateElements,
- directivePositions == null ? [] : directivePositions, _perf, _expando);
-
- assert(_perf.stopTimer(timerId) != false);
- return blockFactory;
- }
-
- static RegExp _MAPPING = new RegExp(r'^(\@|=\>\!|\=\>|\<\=\>|\&)\s*(.*)$');
-
- createMappings(DirectiveRef ref) {
- NgAnnotation annotation = ref.annotation;
- if (annotation.map != null) annotation.map.forEach((attrName, mapping) {
- Match match = _MAPPING.firstMatch(mapping);
- if (match == null) {
- throw "Unknown mapping '$mapping' for attribute '$attrName'.";
- }
- var mode = match[1];
- var dstPath = match[2];
-
- String dstExpression = dstPath.isEmpty ? attrName : dstPath;
- Expression dstPathFn = _parser(dstExpression);
- if (!dstPathFn.isAssignable) {
- throw "Expression '$dstPath' is not assignable in mapping '$mapping' for attribute '$attrName'.";
- }
- ApplyMapping mappingFn;
- switch (mode) {
- case '@':
- mappingFn = (NodeAttrs attrs, Scope scope, Object controller, FilterMap filters, notify()) {
- attrs.observe(attrName, (value) {
- dstPathFn.assign(controller, value);
- notify();
- });
- };
- break;
- case '<=>':
- mappingFn = (NodeAttrs attrs, Scope scope, Object controller, FilterMap filters, notify()) {
- if (attrs[attrName] == null) return notify();
- String expression = attrs[attrName];
- Expression expressionFn = _parser(expression);
- var blockOutbound = false;
- var blockInbound = false;
- scope.watch(
- expression,
- (inboundValue, _) {
- if (!blockInbound) {
- blockOutbound = true;
- scope.rootScope.runAsync(() => blockOutbound = false);
- var value = dstPathFn.assign(controller, inboundValue);
- notify();
- return value;
- }
- },
- filters: filters
- );
- if (expressionFn.isAssignable) {
- scope.watch(
- dstExpression,
- (outboundValue, _) {
- if (!blockOutbound) {
- blockInbound = true;
- scope.rootScope.runAsync(() => blockInbound = false);
- expressionFn.assign(scope.context, outboundValue);
- notify();
- }
- },
- context: controller,
- filters: filters
- );
- }
- };
- break;
- case '=>':
- mappingFn = (NodeAttrs attrs, Scope scope, Object controller, FilterMap filters, notify()) {
- if (attrs[attrName] == null) return notify();
- Expression attrExprFn = _parser(attrs[attrName]);
- var shadowValue = null;
- scope.watch(attrs[attrName],
- (v, _) {
- dstPathFn.assign(controller, shadowValue = v);
- notify();
- },
- filters: filters);
- };
- break;
- case '=>!':
- mappingFn = (NodeAttrs attrs, Scope scope, Object controller, FilterMap filters, notify()) {
- if (attrs[attrName] == null) return notify();
- Expression attrExprFn = _parser(attrs[attrName]);
- var watch;
- watch = scope.watch(
- attrs[attrName],
- (value, _) {
- if (dstPathFn.assign(controller, value) != null) {
- watch.remove();
- }
- },
- filters: filters);
- notify();
- };
- break;
- case '&':
- mappingFn = (NodeAttrs attrs, Scope scope, Object dst, FilterMap filters, notify()) {
- dstPathFn.assign(dst, _parser(attrs[attrName]).bind(scope.context, ScopeLocals.wrapper));
- notify();
- };
- break;
- }
- ref.mappings.add(mappingFn);
- });
- }
-}
-
« no previous file with comments | « third_party/pkg/angular/lib/core_dom/common.dart ('k') | third_party/pkg/angular/lib/core_dom/cookies.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698