Example #1
0
    public ConstructorBlockArgs(VConstructor constructor, ArgumentLink otherClassLink) {
      this.constructor = constructor;
      this.otherClassLink = otherClassLink;

      /*
      VArgument[] args = constructor.getArguments().stream().filter(e->{
          if (e.getCreator() != null && e.getCreator().getClass() == ArgumentLink.class) {
              ArgumentLink al = (ArgumentLink)e.getCreator();
              if (al.getToClass() == otherClassLink.getToClass())
                  return true;
          }
          return false;
      }).toArray(VArgument[]::new);
      if (args.length != 1)
          throw new RuntimeException("Bad argument count");
          */
      sf =
          new SetField(
              new This(constructor.getParent()),
              otherClassLink.otherClassLink.getField(),
              otherClassLink.getArg(),
              Assign.AsType.ASSIGN,
              null,
              null);
    }