+
+ public Expression[] replace(Expression[] expressions) {
+ if(expressions == null)
+ return null;
+ Expression[] result = new Expression[expressions.length];
+ for(int i=0;i<expressions.length;++i)
+ result[i] = expressions[i].replace(this);
+ return result;
+ }
+
+ public Type[] replace(Type[] types) {
+ if(types == null)
+ return null;
+ return Types.replace(types, tvarMap);
+ }
+
+ public FieldAssignment[] replace(FieldAssignment[] fields) {
+ if(fields == null)
+ return null;
+ FieldAssignment[] result = new FieldAssignment[fields.length];
+ for(int i=0;i<fields.length;++i)
+ result[i] = fields[i].replace(this);
+ return result;
+ }