package ast; import lombok.experimental.Wither; import lombok.Data; import lombok.Value; import java.util.ArrayList; import java.util.Collections; import java.util.List; import ast.Ast.Doc; import ast.Ast.MethodSelector; import ast.Ast.Path; import ast.Ast.Stage; import ast.ExpCore.*; import ast.ExpCore.ClassB.Member; import ast.Util.InvalidMwtAsState; public class Util { @Value public static class PrivatePedex{ int family; int number; } @Value public static class InfoAboutMs{ @NonNull java.util.List<Path> allSuper; @NonNull Path original; @NonNull ast.Ast.MethodType mt; } @Value public static class InvalidMwtAsState{ @NonNull String reason; @NonNull ExpCore.ClassB.MethodWithType mwt; } @Value public static class PathMwt{ @NonNull Path original; @NonNull ast.ExpCore.ClassB.MethodWithType mwt; public String toString(){ return ""+this.original+"::" +sugarVisitors.ToFormattedText.of(this.mwt).trim().replace("\n",""); } } @Value @Wither public static class CsMx{ @NonNull java.util.List<String> cs;@NonNull MethodSelector ms; public String toString(){ String prefix="This0"; if(!cs.isEmpty()){prefix=String.join(".",cs);} return prefix+"::"+ms;} } @Value @Wither public static class PathMx{ @NonNull Path path;@NonNull MethodSelector ms; public String toString(){return ""+path+"::"+ms;}} @Value @Wither public static class PathMxMx{ @NonNull Path path;@NonNull MethodSelector ms1;@NonNull MethodSelector ms2;} @Value @Wither public static class PathPath{ @NonNull Path path1; @NonNull Path path2; public String toString(){return ""+path1+"->"+path2;} } @Data @Wither public static class PathSPath{ @NonNull Path path; @NonNull java.util.Set<Path> pathsSet; public String toString(){return ""+path+"->"+pathsSet;} } @Data @Wither public static class SPathSPath{ @NonNull Path src; @NonNull ClassB.MethodWithType mwt1;@NonNull ClassB.MethodWithType mwt2; //@NonNull List<Path> paths1; @NonNull List<Path> paths2; //public String toString(){return ""+paths1+"->"+paths2;} } }