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); }