void removeFromArg(BuildIOType arg) { if (arg.isInput()) { fDepArgs.remove(arg); } else { if (fProducerArg == arg) { fProducerArg = null; } else throw new IllegalArgumentException( "Resource is not produced by this arg!!!"); //$NON-NLS-1$ } }
protected void addToArg(BuildIOType arg) { if (arg.isInput()) { fDepArgs.add(arg); } else { if (fProducerArg == null) { fProducerArg = arg; } else if (fProducerArg.getStep() == fInfo.getInputStep()) { BuildStep inStep = (BuildStep) fInfo.getInputStep(); inStep.removeResource(fProducerArg, this, true); fProducerArg = arg; } else { String err = "ProducerArgument not null!!!\n"; // $NON-NLS-1$ String rcName = DbgUtil.resourceName(this); String step1Name = DbgUtil.stepName(fProducerArg.getStep()); String step2Name = DbgUtil.stepName(arg.getStep()); String rcs[] = new String[] {rcName, step1Name, step2Name}; String externalizedErr = BuildModelMessages.getFormattedString("BuildResource.0", rcs); // $NON-NLS-1$ if (DbgUtil.DEBUG) { err = err + externalizedErr + "curent producer: " + DbgUtil.dumpStep(fProducerArg.getStep()) + "\n producer attempt: " + DbgUtil.dumpStep(arg.getStep()); // $NON-NLS-1$ //$NON-NLS-2$ } throw new IllegalArgumentException(externalizedErr); } } }
BuildIOType[][] clear() { BuildIOType types[][] = new BuildIOType[2][]; types[0] = new BuildIOType[1]; types[0][0] = fProducerArg; BuildIOType outs[] = (BuildIOType[]) getDependentIOTypes(); types[1] = outs; if (fProducerArg != null) fProducerArg.removeResource(this); for (int i = 0; i < outs.length; i++) { outs[i].removeResource(this); } return types; }
public IBuildStep getProducerStep() { if (fProducerArg != null) return fProducerArg.getStep(); return null; }