blob: 4215f0e4959e196b9fb78fe0ffb4f2db4cdad9b6 [file] [log] [blame]
Janak Ramakrishnan8be7fd02016-05-10 20:01:40 +00001// Copyright 2016 The Bazel Authors. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14package com.google.devtools.build.skyframe;
15
Janak Ramakrishnan3b5d5d22016-05-13 21:14:56 +000016import com.google.devtools.build.lib.util.GroupedList;
Janak Ramakrishnan8be7fd02016-05-10 20:01:40 +000017import com.google.devtools.build.lib.util.GroupedList.GroupedListHelper;
18
19import java.util.Collection;
20import java.util.Set;
21
22import javax.annotation.Nullable;
23
24/** Convenience class for {@link NodeEntry} implementations that delegate many operations. */
25public abstract class DelegatingNodeEntry implements NodeEntry {
26 protected abstract NodeEntry getDelegate();
27
28 protected ThinNodeEntry getThinDelegate() {
29 return getDelegate();
30 }
31
32 @Override
33 public boolean keepEdges() {
34 return getDelegate().keepEdges();
35 }
36
37 @Override
38 public SkyValue getValue() {
39 return getDelegate().getValue();
40 }
41
42 @Override
43 public SkyValue getValueMaybeWithMetadata() {
44 return getDelegate().getValueMaybeWithMetadata();
45 }
46
47 @Override
48 public SkyValue toValue() {
49 return getDelegate().toValue();
50 }
51
52 @Nullable
53 @Override
54 public ErrorInfo getErrorInfo() {
55 return getDelegate().getErrorInfo();
56 }
57
58 @Override
59 public Set<SkyKey> getInProgressReverseDeps() {
60 return getDelegate().getInProgressReverseDeps();
61 }
62
63 @Override
64 public Set<SkyKey> setValue(SkyValue value, Version version) {
65 return getDelegate().setValue(value, version);
66 }
67
68 @Override
69 public DependencyState addReverseDepAndCheckIfDone(@Nullable SkyKey reverseDep) {
70 return getDelegate().addReverseDepAndCheckIfDone(reverseDep);
71 }
72
73 @Override
74 public DependencyState checkIfDoneForDirtyReverseDep(SkyKey reverseDep) {
75 return getDelegate().checkIfDoneForDirtyReverseDep(reverseDep);
76 }
77
78 @Override
79 public boolean signalDep() {
80 return getDelegate().signalDep();
81 }
82
83 @Override
84 public boolean signalDep(Version childVersion) {
85 return getDelegate().signalDep(childVersion);
86 }
87
88 @Override
89 public Set<SkyKey> markClean() {
90 return getDelegate().markClean();
91 }
92
93 @Override
94 public void forceRebuild() {
95 getDelegate().forceRebuild();
96 }
97
98 @Override
99 public Version getVersion() {
100 return getDelegate().getVersion();
101 }
102
103 @Override
104 public DirtyState getDirtyState() {
105 return getDelegate().getDirtyState();
106 }
107
108 @Override
109 public Collection<SkyKey> getNextDirtyDirectDeps() {
110 return getDelegate().getNextDirtyDirectDeps();
111 }
112
113 @Override
114 public Iterable<SkyKey> getAllDirectDepsForIncompleteNode() {
115 return getDelegate().getAllDirectDepsForIncompleteNode();
116 }
117
118 @Override
119 public Collection<SkyKey> markRebuildingAndGetAllRemainingDirtyDirectDeps() {
120 return getDelegate().markRebuildingAndGetAllRemainingDirtyDirectDeps();
121 }
122
123 @Override
Janak Ramakrishnan3b5d5d22016-05-13 21:14:56 +0000124 public GroupedList<SkyKey> getTemporaryDirectDeps() {
Janak Ramakrishnan8be7fd02016-05-10 20:01:40 +0000125 return getDelegate().getTemporaryDirectDeps();
126 }
127
128 @Override
129 public boolean noDepsLastBuild() {
130 return getDelegate().noDepsLastBuild();
131 }
132
133 @Override
134 public void removeUnfinishedDeps(Set<SkyKey> unfinishedDeps) {
135 getDelegate().removeUnfinishedDeps(unfinishedDeps);
136 }
137
138 @Override
139 public void addTemporaryDirectDeps(GroupedListHelper<SkyKey> helper) {
140 getDelegate().addTemporaryDirectDeps(helper);
141 }
142
143 @Override
144 public boolean isReady() {
145 return getDelegate().isReady();
146 }
147
148 @Override
149 public boolean isDone() {
150 return getThinDelegate().isDone();
151 }
152
153 @Override
154 public Iterable<SkyKey> getDirectDeps() {
155 return getThinDelegate().getDirectDeps();
156 }
157
158 @Override
159 public void removeReverseDep(SkyKey reverseDep) {
160 getThinDelegate().removeReverseDep(reverseDep);
161 }
162
163 @Override
164 public void removeInProgressReverseDep(SkyKey reverseDep) {
165 getThinDelegate().removeInProgressReverseDep(reverseDep);
166 }
167
168 @Override
169 public Iterable<SkyKey> getReverseDeps() {
170 return getThinDelegate().getReverseDeps();
171 }
172
173 @Override
174 public boolean isDirty() {
175 return getThinDelegate().isDirty();
176 }
177
178 @Override
179 public boolean isChanged() {
180 return getThinDelegate().isChanged();
181 }
182
183 @Override
184 @Nullable
185 public MarkedDirtyResult markDirty(boolean isChanged) {
186 return getThinDelegate().markDirty(isChanged);
187 }
188
189 @Override
190 public void addTemporaryDirectDepsGroupToDirtyEntry(Collection<SkyKey> group) {
191 getDelegate().addTemporaryDirectDepsGroupToDirtyEntry(group);
192 }
193}