package jetbrains.mps.baseLanguage.tuples.test; /*Generated by MPS */ import jetbrains.mps.baseLanguage.tuples.runtime.MultiTuple; import jetbrains.mps.baseLanguage.tuples.runtime.Tuples; public class ExtendedNamedTuples { public ExtendedNamedTuples() { } public static class Foo extends MultiTuple._2<Integer, String> { public Foo() { super(); } public Foo(Integer num, String str) { super(num, str); } public Integer num(Integer value) { return super._0(value); } public String str(String value) { return super._1(value); } public Integer num() { return super._0(); } public String str() { return super._1(); } } public static class Bar extends ExtendedNamedTuples.Foo implements Tuples._4<Integer, String, String, Double> { private MultiTuple._2<String, Double> tuple; public Bar() { super(); } public Bar(Integer num, String str, String id, Double size) { super(num, str); this.tuple = new MultiTuple._2<String, Double>(id, size); } public String id(String value) { return this._2(value); } public Double size(Double value) { return this._3(value); } public String id() { return this._2(); } public Double size() { return this._3(); } public String _2(String id) { return tuple._0(id); } public Double _3(Double size) { return tuple._1(size); } public String _2() { return tuple._0(); } public Double _3() { return tuple._1(); } public Tuples._3<Integer, String, String> assign(Tuples._3<? extends Integer, ? extends String, ? extends String> from) { super.assign(from); tuple.assign(from._2()); return this; } public Tuples._4<Integer, String, String, Double> assign(Tuples._4<? extends Integer, ? extends String, ? extends String, ? extends Double> from) { super.assign(from); tuple.assign(from._2(), from._3()); return this; } } public static class Qux extends ExtendedNamedTuples.Bar implements Tuples._5<Integer, String, String, Double, String> { private MultiTuple._1<String> tuple; public Qux() { super(); } public Qux(Integer num, String str, String id, Double size, String field) { super(num, str, id, size); this.tuple = new MultiTuple._1<String>(field); } public String field(String value) { return this._4(value); } public String field() { return this._4(); } public String _4(String field) { return tuple._0(field); } public String _4() { return tuple._0(); } public Tuples._5<Integer, String, String, Double, String> assign(Tuples._5<? extends Integer, ? extends String, ? extends String, ? extends Double, ? extends String> from) { super.assign(from); tuple.assign(from._4()); return this; } } }