system/src/sc/lang/java/IdentifierExpression.java
private boolean isFinal(Object boundType) {
      return false;
      /*
      if (boundType == null)
         return false;
      // This is a nice optimization in any case but one weird thing is that in the compiled model, we get a bean mapper with a final field
      // for each enum constant.  Being careful here not to consider a final method as constant as that is something different.
      if (ModelUtil.isField(boundType))
         return ModelUtil.hasModifier(boundType, "final");
      return false;
      */
   }
/** TODO: should we optimize final fields?
    * There are a bit like EnumName which means finding all of the places in
    * transformBindingArgs and evalBindingArgs that treat EnumName specially and doing something similar for fields
    * Started on this path because sometimes an enum constant gets mapped into the field found in reflection.  We needed to map this case back to
    * the runtime enum, etc but then that case turned into EnumName in the identifier expression.
    */
should we optimize final fields.
There are a bit like EnumName which means finding all of the places in
transformBindingArgs and evalBindingArgs that treat EnumName specially and doing something similar for fields
Started on this path because sometimes an enum constant gets mapped into the field found in reflection.  We needed to map this case back to
the runtime enum, etc but then that case turned into EnumName in the identifier expression.
should we optimize final fields . There are a bit like EnumName which means finding all of the places in transformBindingArgs and evalBindingArgs that treat EnumName specially and doing something similar for fields Started on this path because sometimes an enum constant gets mapped into the field found in reflection . We needed to map this case back to the runtime enum etc but then that case turned into EnumName in the identifier expression .
private boolean isFinal(Object boundType) {
      return false;
      /*
      if (boundType == null)
         return false;
      // This is a nice optimization in any case but one weird thing is that in the compiled model, we get a bean mapper with a final field
      // for each enum constant.  Being careful here not to consider a final method as constant as that is something different.
      if (ModelUtil.isField(boundType))
         return ModelUtil.hasModifier(boundType, "final");
      return false;
      */
   }
private boolean isFinal ( Object boundType ) { return false ; /*
      if (boundType == null)
         return false;
      // This is a nice optimization in any case but one weird thing is that in the compiled model, we get a bean mapper with a final field
      // for each enum constant.  Being careful here not to consider a final method as constant as that is something different.
      if (ModelUtil.isField(boundType))
         return ModelUtil.hasModifier(boundType, "final");
      return false;
      */ }
TODO: should we optimize final fields?
TODO : should we optimize final fields?