anchor.diff:                  finally
                       base.Dispose(disposing)                
   
  -<<<<<<< HEAD
  -#if AUTOMATION
  -            /// Returns an FSharp FileNode specific object implmenting DTE.ProjectItem
  -            override x.GetAutomationObject() =
  -                if automationObject.IsNone then
  -                    automationObject <- Some(new OAFSharpFileItem((x.ProjectMgr.GetAutomationObject() :?> OAProject), x))
  -                automationObject |> box
  -#endif
  -=======
  ->>>>>>> 580da22232240847a9ee2a076a80c815959b1457
               override x.ImageIndex =
                       if (x.IsFormSubType) then 
                           int32 ProjectNode.ImageName.WindowsForm
  
positive.code:             override x.CreateProjectReferenceNode(selectorData:VSCOMPONENTSELECTORDATA) =
                  (new FSharpProjectReferenceNode(x.ProjectMgr, selectorData.bstrTitle, selectorData.bstrFile, selectorData.bstrProjRef) :> ProjectReferenceNode)
  
  <<<<<<< HEAD
      type internal SelectionElementValueChangedListener(serviceProvider:Microsoft.VisualStudio.Shell.ServiceProvider, projMgr:ProjectNode ) =
              inherit SelectionListener(serviceProvider)
  
              override x.OnElementValueChanged(elementid:uint32, varValueOld:obj, _varValueNew:obj) =
                  let mutable hr = VSConstants.S_OK
                  if (elementid = VSConstants.DocumentFrame) then 
                      let pWindowFrame = varValueOld :?> IVsWindowFrame
                      if (pWindowFrame <> null) then 
                          let mutable document : obj = null
                          // Get the name of the document associated with the old window frame
                          hr <- pWindowFrame.GetProperty(int32 __VSFPROPID.VSFPROPID_pszMkDocument, &document)
                          if (ErrorHandler.Succeeded(hr)) then 
                              let mutable itemid = 0u
                              let hier = (box projMgr :?> IVsHierarchy)
                              hr <- hier.ParseCanonicalName((document :?> string), &itemid)
                              match projMgr.NodeFromItemId(itemid) with 
                              | :? FSharpFileNode as node -> 
                                  ignore(node)
                              | _ -> 
                                  ()
                  hr
  
  #if AUTOMATION
  
      /// Add support for automation on fs files.
      [<ComVisible(true)>]
      [<Guid("F88F0B48-A3BA-4069-B465-AA4C8F92ECD7")>]
      type public OAFSharpFileItem(project:OAProject, node:FileNode) = 
              inherit OAFileItem(project, node) 
              let mutable codeModel : EnvDTE.FileCodeModel = null
  
              override this.FileCodeModel : EnvDTE.FileCodeModel  = 
                  match codeModel with 
                  | null -> 
                      if this.Node = null then null else
                      if this.Node.OleServiceProvider = null then null else
                      let sp = new ServiceProvider(this.Node.OleServiceProvider)
                      match TryGetService2<SVSMDCodeDomProvider,IVSMDCodeDomProvider>(sp :> IServiceProvider)  with
                      | None -> null
                      | Some(smdProvider) -> 
                          let provider = (smdProvider.CodeDomProvider :?> CodeDomProvider)
                          codeModel <- FSharpCodeModelFactory.CreateFileCodeModel((box this :?> EnvDTE.ProjectItem), provider, this.Node.Url)
                          codeModel    
                  | _ -> codeModel
                  
              override this.Open(viewKind: string) : EnvDTE.Window  = 
                if (String.Compare(viewKind, EnvDTE.Constants.vsViewKindPrimary) = 0) &&
                    // Get the subtype and decide the viewkind based on the result
                   ((this.Node :?> FSharpFileNode).IsFormSubType) then 
                    base.Open(EnvDTE.Constants.vsViewKindDesigner)
                else
                    base.Open(viewKind)
  
      [<ComVisible(true)>]
      type public OAFSharpProject(fsharpProject:FSharpProjectNode) =
              inherit OAProject(fsharpProject)
  
              override x.CodeModel : EnvDTE.CodeModel =
                  FSharpCodeModelFactory.CreateProjectCodeModel(x)
  #endif
  =======
      and internal SelectionElementValueChangedListener(serviceProvider:Microsoft.VisualStudio.Shell.ServiceProvider) =
              inherit SelectionListener(serviceProvider)
  
              override x.OnElementValueChanged(_elementid, _varValueOld, _varValueNew) = VSConstants.S_OK
  
  >>>>>>> 580da22232240847a9ee2a076a80c815959b1457
  
negative.code:                     result <- null
                      VSConstants.E_NOTIMPL
  
                  member x.GetSpecificEditorType( _mkDocument:string, guidEditorType:byref<Guid> ) =
                      // Ideally we should at this point initalize a File extension to EditorFactory guid Map e.g.
                      // in the registry hive so that more editors can be added without changing this part of the
  