Ignore:
Timestamp:
Oct 29, 2019 1:28:58 PM (6 weeks ago)
Author:
molsson
Message:

#5843 Moved type checking of conditional attributes so that it is always done.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/dev-mo-2617/Compiler/ModelicaFrontEnd/src/jastadd/errorcheck/ErrorCheck.jrag

    r13103 r13898  
    852852                    getFArraySubscripts().collectErrors(checkType);
    853853                }
    854                 if (hasConditionalAttribute())  {
    855                     getConditionalAttribute().collectErrors(checkType);
     854                if (hasConditionalAttribute()) {
     855                    FExp cond = getConditionalAttribute();
     856                    cond.collectErrors(checkType);
     857                    if (!cond.type().isUnknown()) {
     858                        if (!cond.type().isScalar()) {
     859                            NON_SCALAR_CONDITIONAL_GUARD.invoke(this);
     860                        }
     861                        if (!cond.type().isBoolean()) {
     862                            NON_BOOLEAN_CONDITIONAL_GUARD.invoke(this);
     863                        }
     864                        if (!cond.variability().parameterOrLess()) {
     865                            NON_FIXED_CONDITIONAL_GUARD.invoke(this);
     866                        } else {
     867                            cond.markAsStructuralParameter(checkType);
     868                        }
     869                    }
    856870                }
    857871                if (!isDisabled() && hasInstModification()) {
Note: See TracChangeset for help on using the changeset viewer.