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

Unified Diff: tools/immic/lib/src/resources/dart/immi.dart

Issue 2035023003: Remove service-compiler related code. (Closed) Base URL: git@github.com:dartino/sdk.git@master
Patch Set: Created 4 years, 6 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 | « tools/immic/lib/src/resources/Immi.podspec ('k') | tools/immic/lib/src/resources/java/immi/Action.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/immic/lib/src/resources/dart/immi.dart
diff --git a/tools/immic/lib/src/resources/dart/immi.dart b/tools/immic/lib/src/resources/dart/immi.dart
deleted file mode 100644
index 2dda697fb0d75f55c3c7a1b8a02066a3078db96a..0000000000000000000000000000000000000000
--- a/tools/immic/lib/src/resources/dart/immi.dart
+++ /dev/null
@@ -1,177 +0,0 @@
-// Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE.md file.
-
-library immi;
-
-import 'package:service/dart/struct.dart';
-
-// TODO(zerny): Can we find a way to depend on the generated builder hierarchy
-// so we can use the actual builder types below? Otherwise, remove the commented
-// builder types.
-
-abstract class Node {
- diff(Node previous);
- void serializeNode(/*NodeData*/Builder builder, ResourceManager manager);
- void unregisterHandlers(ResourceManager manager);
-}
-
-class ResourceManager {
- int _nextEventID = 1;
- Map<int, Function> _eventHandlers = {};
- Map<Function, int> _eventHandlersInverted = {};
- void clear() {
- _eventHandlers.clear();
- _eventHandlersInverted.clear();
- }
- int addHandler(Function handler) {
- if (handler == null) return 0;
- _eventHandlers[_nextEventID] = handler;
- _eventHandlersInverted[handler] = _nextEventID;
- return _nextEventID++;
- }
- void removeHandler(Function handler) {
- if (handler == null) return;
- int id = _eventHandlersInverted.remove(handler);
- if (id == null) return;
- _eventHandlers.remove(id);
- }
- Function getHandler(int id) {
- if (id == 0) {
- print('Request with invalid event id: 0');
- return null;
- }
- Function handler = _eventHandlers[id];
- if (handler == null) {
- print('Request with unallocated event id: $id');
- return null;
- }
- return handler;
- }
-}
-
-abstract class NodePatch {
- void serializeNode(/*NodePatchData*/Builder builder, ResourceManager manager);
-}
-
-enum ListPatchType {
- AnyNode,
- SpecificNode
-}
-
-class ListPatch {
- final ListPatchType type;
- final List<ListRegionPatch> regions;
- ListPatch(this.type, this.regions);
- void serializeList(/*ListPatchDataBuilder*/ builder,
- ResourceManager manager) {
- builder.type = type.index;
- int length = regions.length;
- List</*ListRegionData*/Builder> builders = builder.initRegions(length);
- for (int i = 0; i < length; ++i) {
- ListRegionPatch region = regions[i];
- /*ListRegionDataBuilder*/var regionBuilder = builders[i];
- regionBuilder.index = region.index;
- region.serializeRegion(regionBuilder, manager);
- }
- }
-}
-
-abstract class ListRegionPatch {
- final int index;
- ListRegionPatch(this.index);
- void serializeRegion(/*ListRegionData*/Builder builder,
- ResourceManager manager);
-}
-
-class ListInsertPatch extends ListRegionPatch {
- final int length;
- final List current;
- ListInsertPatch(int index, this.length, this.current) : super(index);
- void serializeRegion(/*ListRegionDataBuilder*/ builder,
- ResourceManager manager) {
- List</*NodeData*/Builder> builders = builder.initInsert(length);
- for (int i = 0; i < length; ++i) {
- current[index + i].serializeNode(builders[i], manager);
- }
- }
-}
-
-class ListRemovePatch extends ListRegionPatch {
- final int length;
- final List previous;
- ListRemovePatch(int index, this.length, this.previous) : super(index);
- void serializeRegion(/*ListRegionDataBuilder*/ builder,
- ResourceManager manager) {
- builder.remove = length;
- for (int i = 0; i < length; ++i) {
- previous[index + i].unregisterHandlers(manager);
- }
- }
-}
-
-class ListUpdatePatch extends ListRegionPatch {
- final List updates;
- ListUpdatePatch(int index, this.updates) : super(index);
- void serializeRegion(/*ListRegionDataBuilder*/ builder,
- ResourceManager manager) {
- int length = updates.length;
- List</*NodePatchData*/Builder> builders = builder.initUpdate(length);
- for (int i = 0; i < length; ++i) {
- updates[i].serializeNode(builders[i], manager);
- }
- }
-}
-
-ListPatch diffList(List current, List previous, ListPatchType type) {
- int currentLength = current.length;
- int previousLength = previous.length;
- if (currentLength == 0 && previousLength == 0) {
- return null;
- }
- if (previousLength == 0) {
- return new ListPatch(
- type, [new ListInsertPatch(0, currentLength, current)]);
- }
- if (currentLength == 0) {
- return new ListPatch(
- type, [new ListRemovePatch(0, previousLength, previous)]);
- }
-
- // TODO(zerny): be more clever about diffing a list.
- int minLength =
- (currentLength < previousLength) ? currentLength : previousLength;
-
- List patches = [];
-
- int regionStart = -1;
- List regionPatches;
-
- for (int i = 0; i < minLength; ++i) {
- // TODO(zerny): Support lists of primitives and lists of Node.
- var patch = current[i].diff(previous[i]);
- if (patch != null) {
- if (regionStart < 0) {
- regionStart = i;
- regionPatches = [];
- }
- regionPatches.add(patch);
- } else if (regionStart >= 0) {
- patches.add(new ListUpdatePatch(regionStart, regionPatches));
- regionStart = -1;
- }
- }
- if (regionStart >= 0) {
- patches.add(new ListUpdatePatch(regionStart, regionPatches));
- }
-
- if (currentLength > previousLength) {
- patches.add(new ListInsertPatch(
- previousLength, currentLength - previousLength, current));
- } else if (currentLength < previousLength) {
- patches.add(new ListRemovePatch(
- currentLength, previousLength - currentLength, previous));
- }
-
- return patches.isEmpty ? null : new ListPatch(type, patches);
-}
« no previous file with comments | « tools/immic/lib/src/resources/Immi.podspec ('k') | tools/immic/lib/src/resources/java/immi/Action.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698