Example #1
0
void InterfaceStatement::checkVolatile(AnalysisResultConstPtr ar) {
    ClassScopeRawPtr classScope = getClassScope();
    // redeclared classes/interfaces are automatically volatile
    if (!classScope->isVolatile()) {
        if (checkVolatileBases(ar)) {
            // if any base is volatile, the class is volatile
            classScope->setVolatile();
        }
    }
}
void InterfaceStatement::checkVolatile(AnalysisResultPtr ar) {
  ClassScopeRawPtr classScope = getClassScope();
  // redeclared classes/interfaces are automatically volatile
  if (!classScope->isVolatile()) {
     if (checkVolatileBases(ar)) {
       // if any base is volatile, the class is volatile
       classScope->setVolatile();
     }
  }
  if (classScope->isVolatile()) {
    classScope->getOuterScope()->getVariables()->
       setAttribute(VariableTable::NeedGlobalPointer);
  }
}