diff options
author | 2019-03-06 17:26:43 -0500 | |
---|---|---|
committer | 2019-03-06 17:26:43 -0500 | |
commit | 5c4471e3a4cd273bf68eb2ccc1d91f99b5c8c7bc (patch) | |
tree | 7a2481581a3bc14a672f6e1f7965573853e62c04 /Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner | |
parent | Restructure Vampire Reasoner project (diff) | |
download | VIATRA-Generator-5c4471e3a4cd273bf68eb2ccc1d91f99b5c8c7bc.tar.gz VIATRA-Generator-5c4471e3a4cd273bf68eb2ccc1d91f99b5c8c7bc.tar.zst VIATRA-Generator-5c4471e3a4cd273bf68eb2ccc1d91f99b5c8c7bc.zip |
Implement Enum handling and study hierarchy handling
Diffstat (limited to 'Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner')
-rw-r--r-- | Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/VLSFunctionFof.java | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/VLSFunctionFof.java b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/VLSFunctionFof.java index 5a88b0b4..0e82d459 100644 --- a/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/VLSFunctionFof.java +++ b/Solvers/Vampire-Solver/ca.mcgill.ecse.dslreasoner.vampire.reasoner/src-gen/ca/mcgill/ecse/dslreasoner/vampire/reasoner/queries/VLSFunctionFof.java | |||
@@ -3,6 +3,7 @@ | |||
3 | */ | 3 | */ |
4 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner.queries; | 4 | package ca.mcgill.ecse.dslreasoner.vampire.reasoner.queries; |
5 | 5 | ||
6 | import ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm; | ||
6 | import java.util.Arrays; | 7 | import java.util.Arrays; |
7 | import java.util.Collection; | 8 | import java.util.Collection; |
8 | import java.util.LinkedHashSet; | 9 | import java.util.LinkedHashSet; |
@@ -40,8 +41,8 @@ import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; | |||
40 | * | 41 | * |
41 | * <p>Original source: | 42 | * <p>Original source: |
42 | * <code><pre> | 43 | * <code><pre> |
43 | * pattern VLSFunctionFof(term: VLSFunctionFof){ | 44 | * pattern VLSFunctionFof(term: VLSFunctionAsTerm){ |
44 | * VLSFunctionFof(term); | 45 | * VLSFunctionAsTerm(term); |
45 | * } | 46 | * } |
46 | * </pre></code> | 47 | * </pre></code> |
47 | * | 48 | * |
@@ -64,11 +65,11 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
64 | * | 65 | * |
65 | */ | 66 | */ |
66 | public static abstract class Match extends BasePatternMatch { | 67 | public static abstract class Match extends BasePatternMatch { |
67 | private ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof fTerm; | 68 | private VLSFunctionAsTerm fTerm; |
68 | 69 | ||
69 | private static List<String> parameterNames = makeImmutableList("term"); | 70 | private static List<String> parameterNames = makeImmutableList("term"); |
70 | 71 | ||
71 | private Match(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 72 | private Match(final VLSFunctionAsTerm pTerm) { |
72 | this.fTerm = pTerm; | 73 | this.fTerm = pTerm; |
73 | } | 74 | } |
74 | 75 | ||
@@ -78,7 +79,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
78 | return null; | 79 | return null; |
79 | } | 80 | } |
80 | 81 | ||
81 | public ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof getTerm() { | 82 | public VLSFunctionAsTerm getTerm() { |
82 | return this.fTerm; | 83 | return this.fTerm; |
83 | } | 84 | } |
84 | 85 | ||
@@ -86,13 +87,13 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
86 | public boolean set(final String parameterName, final Object newValue) { | 87 | public boolean set(final String parameterName, final Object newValue) { |
87 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | 88 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); |
88 | if ("term".equals(parameterName) ) { | 89 | if ("term".equals(parameterName) ) { |
89 | this.fTerm = (ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) newValue; | 90 | this.fTerm = (VLSFunctionAsTerm) newValue; |
90 | return true; | 91 | return true; |
91 | } | 92 | } |
92 | return false; | 93 | return false; |
93 | } | 94 | } |
94 | 95 | ||
95 | public void setTerm(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 96 | public void setTerm(final VLSFunctionAsTerm pTerm) { |
96 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); | 97 | if (!isMutable()) throw new java.lang.UnsupportedOperationException(); |
97 | this.fTerm = pTerm; | 98 | this.fTerm = pTerm; |
98 | } | 99 | } |
@@ -173,7 +174,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
173 | * @return the new, mutable (partial) match object. | 174 | * @return the new, mutable (partial) match object. |
174 | * | 175 | * |
175 | */ | 176 | */ |
176 | public static VLSFunctionFof.Match newMutableMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 177 | public static VLSFunctionFof.Match newMutableMatch(final VLSFunctionAsTerm pTerm) { |
177 | return new Mutable(pTerm); | 178 | return new Mutable(pTerm); |
178 | } | 179 | } |
179 | 180 | ||
@@ -185,12 +186,12 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
185 | * @return the (partial) match object. | 186 | * @return the (partial) match object. |
186 | * | 187 | * |
187 | */ | 188 | */ |
188 | public static VLSFunctionFof.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 189 | public static VLSFunctionFof.Match newMatch(final VLSFunctionAsTerm pTerm) { |
189 | return new Immutable(pTerm); | 190 | return new Immutable(pTerm); |
190 | } | 191 | } |
191 | 192 | ||
192 | private static final class Mutable extends VLSFunctionFof.Match { | 193 | private static final class Mutable extends VLSFunctionFof.Match { |
193 | Mutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 194 | Mutable(final VLSFunctionAsTerm pTerm) { |
194 | super(pTerm); | 195 | super(pTerm); |
195 | } | 196 | } |
196 | 197 | ||
@@ -201,7 +202,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
201 | } | 202 | } |
202 | 203 | ||
203 | private static final class Immutable extends VLSFunctionFof.Match { | 204 | private static final class Immutable extends VLSFunctionFof.Match { |
204 | Immutable(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 205 | Immutable(final VLSFunctionAsTerm pTerm) { |
205 | super(pTerm); | 206 | super(pTerm); |
206 | } | 207 | } |
207 | 208 | ||
@@ -223,8 +224,8 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
223 | * | 224 | * |
224 | * <p>Original source: | 225 | * <p>Original source: |
225 | * <code><pre> | 226 | * <code><pre> |
226 | * pattern VLSFunctionFof(term: VLSFunctionFof){ | 227 | * pattern VLSFunctionFof(term: VLSFunctionAsTerm){ |
227 | * VLSFunctionFof(term); | 228 | * VLSFunctionAsTerm(term); |
228 | * } | 229 | * } |
229 | * </pre></code> | 230 | * </pre></code> |
230 | * | 231 | * |
@@ -282,7 +283,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
282 | * @return matches represented as a Match object. | 283 | * @return matches represented as a Match object. |
283 | * | 284 | * |
284 | */ | 285 | */ |
285 | public Collection<VLSFunctionFof.Match> getAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 286 | public Collection<VLSFunctionFof.Match> getAllMatches(final VLSFunctionAsTerm pTerm) { |
286 | return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet()); | 287 | return rawStreamAllMatches(new Object[]{pTerm}).collect(Collectors.toSet()); |
287 | } | 288 | } |
288 | 289 | ||
@@ -296,7 +297,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
296 | * @return a stream of matches represented as a Match object. | 297 | * @return a stream of matches represented as a Match object. |
297 | * | 298 | * |
298 | */ | 299 | */ |
299 | public Stream<VLSFunctionFof.Match> streamAllMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 300 | public Stream<VLSFunctionFof.Match> streamAllMatches(final VLSFunctionAsTerm pTerm) { |
300 | return rawStreamAllMatches(new Object[]{pTerm}); | 301 | return rawStreamAllMatches(new Object[]{pTerm}); |
301 | } | 302 | } |
302 | 303 | ||
@@ -307,7 +308,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
307 | * @return a match represented as a Match object, or null if no match is found. | 308 | * @return a match represented as a Match object, or null if no match is found. |
308 | * | 309 | * |
309 | */ | 310 | */ |
310 | public Optional<VLSFunctionFof.Match> getOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 311 | public Optional<VLSFunctionFof.Match> getOneArbitraryMatch(final VLSFunctionAsTerm pTerm) { |
311 | return rawGetOneArbitraryMatch(new Object[]{pTerm}); | 312 | return rawGetOneArbitraryMatch(new Object[]{pTerm}); |
312 | } | 313 | } |
313 | 314 | ||
@@ -318,7 +319,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
318 | * @return true if the input is a valid (partial) match of the pattern. | 319 | * @return true if the input is a valid (partial) match of the pattern. |
319 | * | 320 | * |
320 | */ | 321 | */ |
321 | public boolean hasMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 322 | public boolean hasMatch(final VLSFunctionAsTerm pTerm) { |
322 | return rawHasMatch(new Object[]{pTerm}); | 323 | return rawHasMatch(new Object[]{pTerm}); |
323 | } | 324 | } |
324 | 325 | ||
@@ -328,7 +329,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
328 | * @return the number of pattern matches found. | 329 | * @return the number of pattern matches found. |
329 | * | 330 | * |
330 | */ | 331 | */ |
331 | public int countMatches(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 332 | public int countMatches(final VLSFunctionAsTerm pTerm) { |
332 | return rawCountMatches(new Object[]{pTerm}); | 333 | return rawCountMatches(new Object[]{pTerm}); |
333 | } | 334 | } |
334 | 335 | ||
@@ -340,7 +341,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
340 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked | 341 | * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked |
341 | * | 342 | * |
342 | */ | 343 | */ |
343 | public boolean forOneArbitraryMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm, final Consumer<? super VLSFunctionFof.Match> processor) { | 344 | public boolean forOneArbitraryMatch(final VLSFunctionAsTerm pTerm, final Consumer<? super VLSFunctionFof.Match> processor) { |
344 | return rawForOneArbitraryMatch(new Object[]{pTerm}, processor); | 345 | return rawForOneArbitraryMatch(new Object[]{pTerm}, processor); |
345 | } | 346 | } |
346 | 347 | ||
@@ -352,7 +353,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
352 | * @return the (partial) match object. | 353 | * @return the (partial) match object. |
353 | * | 354 | * |
354 | */ | 355 | */ |
355 | public VLSFunctionFof.Match newMatch(final ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof pTerm) { | 356 | public VLSFunctionFof.Match newMatch(final VLSFunctionAsTerm pTerm) { |
356 | return VLSFunctionFof.Match.newMatch(pTerm); | 357 | return VLSFunctionFof.Match.newMatch(pTerm); |
357 | } | 358 | } |
358 | 359 | ||
@@ -361,8 +362,8 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
361 | * @return the Set of all values or empty set if there are no matches | 362 | * @return the Set of all values or empty set if there are no matches |
362 | * | 363 | * |
363 | */ | 364 | */ |
364 | protected Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof> rawStreamAllValuesOfterm(final Object[] parameters) { | 365 | protected Stream<VLSFunctionAsTerm> rawStreamAllValuesOfterm(final Object[] parameters) { |
365 | return rawStreamAllValues(POSITION_TERM, parameters).map(ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof.class::cast); | 366 | return rawStreamAllValues(POSITION_TERM, parameters).map(VLSFunctionAsTerm.class::cast); |
366 | } | 367 | } |
367 | 368 | ||
368 | /** | 369 | /** |
@@ -370,7 +371,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
370 | * @return the Set of all values or empty set if there are no matches | 371 | * @return the Set of all values or empty set if there are no matches |
371 | * | 372 | * |
372 | */ | 373 | */ |
373 | public Set<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof> getAllValuesOfterm() { | 374 | public Set<VLSFunctionAsTerm> getAllValuesOfterm() { |
374 | return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet()); | 375 | return rawStreamAllValuesOfterm(emptyArray()).collect(Collectors.toSet()); |
375 | } | 376 | } |
376 | 377 | ||
@@ -379,14 +380,14 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
379 | * @return the Set of all values or empty set if there are no matches | 380 | * @return the Set of all values or empty set if there are no matches |
380 | * | 381 | * |
381 | */ | 382 | */ |
382 | public Stream<ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof> streamAllValuesOfterm() { | 383 | public Stream<VLSFunctionAsTerm> streamAllValuesOfterm() { |
383 | return rawStreamAllValuesOfterm(emptyArray()); | 384 | return rawStreamAllValuesOfterm(emptyArray()); |
384 | } | 385 | } |
385 | 386 | ||
386 | @Override | 387 | @Override |
387 | protected VLSFunctionFof.Match tupleToMatch(final Tuple t) { | 388 | protected VLSFunctionFof.Match tupleToMatch(final Tuple t) { |
388 | try { | 389 | try { |
389 | return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) t.get(POSITION_TERM)); | 390 | return VLSFunctionFof.Match.newMatch((VLSFunctionAsTerm) t.get(POSITION_TERM)); |
390 | } catch(ClassCastException e) { | 391 | } catch(ClassCastException e) { |
391 | LOGGER.error("Element(s) in tuple not properly typed!",e); | 392 | LOGGER.error("Element(s) in tuple not properly typed!",e); |
392 | return null; | 393 | return null; |
@@ -396,7 +397,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
396 | @Override | 397 | @Override |
397 | protected VLSFunctionFof.Match arrayToMatch(final Object[] match) { | 398 | protected VLSFunctionFof.Match arrayToMatch(final Object[] match) { |
398 | try { | 399 | try { |
399 | return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) match[POSITION_TERM]); | 400 | return VLSFunctionFof.Match.newMatch((VLSFunctionAsTerm) match[POSITION_TERM]); |
400 | } catch(ClassCastException e) { | 401 | } catch(ClassCastException e) { |
401 | LOGGER.error("Element(s) in array not properly typed!",e); | 402 | LOGGER.error("Element(s) in array not properly typed!",e); |
402 | return null; | 403 | return null; |
@@ -406,7 +407,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
406 | @Override | 407 | @Override |
407 | protected VLSFunctionFof.Match arrayToMatchMutable(final Object[] match) { | 408 | protected VLSFunctionFof.Match arrayToMatchMutable(final Object[] match) { |
408 | try { | 409 | try { |
409 | return VLSFunctionFof.Match.newMutableMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) match[POSITION_TERM]); | 410 | return VLSFunctionFof.Match.newMutableMatch((VLSFunctionAsTerm) match[POSITION_TERM]); |
410 | } catch(ClassCastException e) { | 411 | } catch(ClassCastException e) { |
411 | LOGGER.error("Element(s) in array not properly typed!",e); | 412 | LOGGER.error("Element(s) in array not properly typed!",e); |
412 | return null; | 413 | return null; |
@@ -457,7 +458,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
457 | 458 | ||
458 | @Override | 459 | @Override |
459 | public VLSFunctionFof.Match newMatch(final Object... parameters) { | 460 | public VLSFunctionFof.Match newMatch(final Object... parameters) { |
460 | return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof) parameters[0]); | 461 | return VLSFunctionFof.Match.newMatch((ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm) parameters[0]); |
461 | } | 462 | } |
462 | 463 | ||
463 | /** | 464 | /** |
@@ -489,7 +490,7 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
489 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { | 490 | private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { |
490 | private final static VLSFunctionFof.GeneratedPQuery INSTANCE = new GeneratedPQuery(); | 491 | private final static VLSFunctionFof.GeneratedPQuery INSTANCE = new GeneratedPQuery(); |
491 | 492 | ||
492 | private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionFof", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionFof")), PParameterDirection.INOUT); | 493 | private final PParameter parameter_term = new PParameter("term", "ca.mcgill.ecse.dslreasoner.vampireLanguage.VLSFunctionAsTerm", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionAsTerm")), PParameterDirection.INOUT); |
493 | 494 | ||
494 | private final List<PParameter> parameters = Arrays.asList(parameter_term); | 495 | private final List<PParameter> parameters = Arrays.asList(parameter_term); |
495 | 496 | ||
@@ -519,12 +520,12 @@ public final class VLSFunctionFof extends BaseGeneratedEMFQuerySpecification<VLS | |||
519 | { | 520 | { |
520 | PBody body = new PBody(this); | 521 | PBody body = new PBody(this); |
521 | PVariable var_term = body.getOrCreateVariableByName("term"); | 522 | PVariable var_term = body.getOrCreateVariableByName("term"); |
522 | new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionFof"))); | 523 | new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionAsTerm"))); |
523 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( | 524 | body.setSymbolicParameters(Arrays.<ExportedParameter>asList( |
524 | new ExportedParameter(body, var_term, parameter_term) | 525 | new ExportedParameter(body, var_term, parameter_term) |
525 | )); | 526 | )); |
526 | // VLSFunctionFof(term) | 527 | // VLSFunctionAsTerm(term) |
527 | new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionFof"))); | 528 | new TypeConstraint(body, Tuples.flatTupleOf(var_term), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.mcgill.ca/ecse/dslreasoner/VampireLanguage", "VLSFunctionAsTerm"))); |
528 | bodies.add(body); | 529 | bodies.add(body); |
529 | } | 530 | } |
530 | return bodies; | 531 | return bodies; |