void BuiltinSymbols::LoadClasses(AnalysisResultPtr ar,
                                 StringToClassScopePtrMap &classes) {
  ASSERT(Loaded);
  classes.insert(s_classes.begin(), s_classes.end());

  // we are adding these builtin functions, so that user-defined functions
  // will not overwrite them with their own file and line number information
  for (StringToClassScopePtrMap::const_iterator iter =
         s_classes.begin(); iter != s_classes.end(); ++iter) {
    ar->getDependencyGraph()->addParent(DependencyGraph::KindOfClassDerivation,
                                        "", iter->first, StatementPtr());
  }
}
Beispiel #2
0
void BuiltinSymbols::LoadClasses(AnalysisResultPtr ar,
                                 StringToClassScopePtrMap &classes) {
    assert(Loaded);
    classes.insert(s_classes.begin(), s_classes.end());

    // we are adding these builtin functions, so that user-defined functions
    // will not overwrite them with their own file and line number information
    for (StringToClassScopePtrMap::const_iterator iter =
                s_classes.begin(); iter != s_classes.end(); ++iter) {
        const StringToFunctionScopePtrMap &funcs = iter->second->getFunctions();
        for (StringToFunctionScopePtrMap::const_iterator iter =
                    funcs.begin(); iter != funcs.end(); ++iter) {
            FunctionScope::RecordFunctionInfo(iter->first, iter->second);
        }
    }
}
void BuiltinSymbols::LoadClasses(AnalysisResultPtr ar,
                                 StringToClassScopePtrMap &classes) {
  assert(Loaded);
  classes.insert(s_classes.begin(), s_classes.end());
}