protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_languageInfo != null)
                {
                    _languageInfo.Dispose();
                    _languageInfo = null;
                }
            }

            base.Dispose(disposing);
        }
        protected override void Initialize()
        {
            base.Initialize();

            // register the language service
            _languageInfo = new PhpLanguageInfo(this.AsVsServiceProvider());
            ((IServiceContainer)this).AddService(typeof(PhpLanguageInfo), _languageInfo, true);

            RegisterEditorFactory(new PhpEditorFactoryWithoutEncoding(this));
            RegisterEditorFactory(new PhpEditorFactoryWithEncoding(this));

            try
            {
                RuleDependencyChecker.CheckDependencies(typeof(PhpLanguagePackage).Assembly);
            }
            catch (InvalidOperationException ex)
            {
                MessageBox.Show(ex.Message, "Error validating ANTLR rule dependencies");
            }
        }
        protected override void Initialize()
        {
            base.Initialize();

            // register the language service
            _languageInfo = new PhpLanguageInfo(this.AsVsServiceProvider());
            ((IServiceContainer)this).AddService(typeof(PhpLanguageInfo), _languageInfo, true);

            RegisterEditorFactory(new PhpEditorFactoryWithoutEncoding(this));
            RegisterEditorFactory(new PhpEditorFactoryWithEncoding(this));

            try
            {
                RuleDependencyChecker.CheckDependencies(typeof(PhpLanguagePackage).Assembly);
            }
            catch (InvalidOperationException ex)
            {
                MessageBox.Show(ex.Message, "Error validating ANTLR rule dependencies");
            }
        }
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                if (_languageInfo != null)
                {
                    _languageInfo.Dispose();
                    _languageInfo = null;
                }
            }

            base.Dispose(disposing);
        }