/**
  * Version viewer must only be added at if this is the final getCMSFields for a class.
  * in order to avoid having to rename all fields from eg Root.Main to Root.Current.Main
  * To do this we test if getCMSFields is from the current class
  */
 public function isEndofLine($className)
 {
     $methodFromClass = ClassInfo::has_method_from($this->ClassName, 'getCMSFields', $className);
     if ($methodFromClass) {
         return true;
     }
 }
 public static function get_extra_config_sources($class = null)
 {
     if ($class === null) {
         $class = get_called_class();
     }
     // If this class is unextendable, NOP
     if (in_array($class, self::$unextendable_classes)) {
         return;
     }
     // Variable to hold sources in
     $sources = null;
     // Get a list of extensions
     $extensions = Config::inst()->get($class, 'extensions', Config::UNINHERITED | Config::EXCLUDE_EXTRA_SOURCES);
     if ($extensions) {
         // Build a list of all sources;
         $sources = array();
         foreach ($extensions as $extension) {
             list($extensionClass, $extensionArgs) = self::parse_class_spec($extension);
             $sources[] = $extensionClass;
             if (!ClassInfo::has_method_from($extensionClass, 'add_to_class', 'Extension')) {
                 Deprecation::notice('4.0', "add_to_class deprecated on {$extensionClass}. Use get_extra_config instead");
             }
             call_user_func(array($extensionClass, 'add_to_class'), $class, $extensionClass, $extensionArgs);
             foreach (array_reverse(ClassInfo::ancestry($extensionClass)) as $extensionClassParent) {
                 if (ClassInfo::has_method_from($extensionClassParent, 'get_extra_config', $extensionClassParent)) {
                     $extras = $extensionClassParent::get_extra_config($class, $extensionClass, $extensionArgs);
                     if ($extras) {
                         $sources[] = $extras;
                     }
                 }
             }
         }
     }
     return $sources;
 }