Skip to content

Commit 7b41ece

Browse files
authored
Merge pull request #1492 from NASA-AMMOS/bug/check-for-static-parameters
Added a method to check for static parameters inside of an ActivityType
2 parents 4f8a893 + 1309cf3 commit 7b41ece

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

merlin-framework-processor/src/main/java/gov/nasa/jpl/aerie/merlin/processor/MissionModelParser.java

+15
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,10 @@ private ActivityTypeRecord parseActivityType(final PackageElement missionModelEl
386386
final var validations = this.getExportValidations(activityTypeElement, parameters);
387387
final var effectModel = this.getActivityEffectModel(activityTypeElement);
388388

389+
if (!parameters.isEmpty()) {
390+
checkForStaticParameters(name, parameters);
391+
}
392+
389393
final var durationParameterName = effectModel.flatMap(EffectModelRecord::durationParameter);
390394
if (durationParameterName.isPresent()) {
391395
validateControllableDurationParameter(name, parameters, durationParameterName.get());
@@ -409,6 +413,17 @@ class (old-style) or as a record (new-style) by determining
409413
effectModel);
410414
}
411415

416+
private void checkForStaticParameters(String activityName, List<ParameterRecord> parameters) throws InvalidMissionModelException {
417+
for (final var parameter: parameters) {
418+
if (parameter.element.getModifiers().contains(Modifier.STATIC)) {
419+
throw new InvalidMissionModelException(
420+
"In activity " + activityName +
421+
", parameter \"" + parameter.name +"\"" +
422+
" is declared as static, but this is not valid for activity parameters");
423+
}
424+
}
425+
}
426+
412427
private void validateControllableDurationParameter(
413428
final String activityName,
414429
final List<ParameterRecord> parameters,

0 commit comments

Comments
 (0)