code: public boolean recordDefineType(JSTypeExpression type) {
      if (type != null &&
          !currentInfo.isConstant() &&
          !currentInfo.isDefine() &&
          recordType(type)) {
        currentInfo.setDefine(true);
        populated = true;
        return true;
      } else {
        return false;
      }
    }
docs: Records the type of a define.
  
  'Define' values are special constants that may be manipulated by
  the compiler. They are designed to mimic the #define command in
  the C preprocessor.