// --------------------------------------------------------------------------- TypeInfo TypeInfo::combine(const TypeInfo &__lhs, const TypeInfo &__rhs) { TypeInfo __result = __lhs; __result.setConstant(__result.isConstant() || __rhs.isConstant()); __result.setVolatile(__result.isVolatile() || __rhs.isVolatile()); __result.setReference(__result.isReference() || __rhs.isReference()); __result.setIndirections(__result.indirections() + __rhs.indirections()); __result.setArrayElements(__result.arrayElements() + __rhs.arrayElements()); return __result; }