Exemplo n.º 1
0
 private void _iter(IArgumentType arg) {
   if (arg.isEnumType()) {
     for (INameValuePair nvp : arg.getValues()) {
       iterate(arg, nvp.getArgTypes(), nvp.getName());
     }
   } else if (arg.isIndexedType()) {
     iterateIndexedChildren(arg.getChildren());
   }
 }
Exemplo n.º 2
0
 private void iterateIndexedChildren(IArgumentType[] args) {
   for (IArgumentType subArg : args) {
     if (!subArg.isIndexedType()) {
       iter(subArg);
     } else {
       iterateIndexedChildren(subArg.getChildren());
     }
   }
 }
Exemplo n.º 3
0
 private void iterate(IArgumentType parent, IArgumentType[] args, String value) {
   // Recurse with bredth first, not depth
   for (IArgumentType arg : args) {
     if (isValidArg(parent, value) && !arg.isIndexedType()) {
       boolean result = iter(arg);
       if (!result) return;
     }
   }
   for (IArgumentType arg : args) {
     if (isValidArg(parent, value)) {
       _iter(arg);
     }
   }
 }