예제 #1
0
 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$
   }
 }
예제 #2
0
  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);
      }
    }
  }
예제 #3
0
  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;
  }
예제 #4
0
 public IBuildStep getProducerStep() {
   if (fProducerArg != null) return fProducerArg.getStep();
   return null;
 }