@Override public UserSpecAction applySubst(Substitution substitution) { // Apply substitution to action parameters, pre- and post-condition. List<Term> parameters = new ArrayList<>(getParameters().size()); for (Term parameter : getParameters()) { parameters.add(parameter.applySubst(substitution)); } ActionPreCondition precondition = (getFullPreCondition() == null) ? null : getFullPreCondition().applySubst(substitution); ActionPostCondition positivePostcondition = (getPositivePostcondition() == null) ? null : getPositivePostcondition().applySubst(substitution); ActionPostCondition negativePostcondition = (getNegativePostcondition() == null) ? null : getNegativePostcondition().applySubst(substitution); return new UserSpecAction(getName(), parameters, isExternal(), precondition, positivePostcondition, negativePostcondition, getSourceInfo()); }
for (UserSpecAction actionspec : this.program.getActionSpecifications()) { signature = actionspec.getSignature(); symbol = new ActionSymbol(signature, actionspec, actionspec.getSourceInfo()); if (!this.actionSymbols.define(symbol)) { reportDuplicateActionLabelDfs(signature, symbol);
if (!this.actionSymbols.define(new ActionSymbol(action.getSignature(), action, action.getSourceInfo()))) { reportError(ActionSpecError.ACTION_LABEL_ALREADY_DEFINED, ctx, action.getSignature());
for (UserSpecAction actionspec : actionspecs.getActionSpecifications()) { String signature = actionspec.getSignature(); Symbol symbol = new ActionSymbol(signature, actionspec, actionspec.getSourceInfo()); if (!this.actionSymbols.define(symbol)) { reportDuplicateActionLabelDfs(signature, symbol);
reportWarning(MASWarning.ACTION_UNUSED, action.getSourceInfo(), action.getSignature());