/// <summary> /// Creates IConflictResolver by elementType. /// </summary> /// <param name="elementType">Type of CodeElement.</param> /// <param name="fileCodeModel">LuaFileCodeModel instance.</param> /// <returns>IConflictResolver implementation.</returns> public static IConflictResolver CreateConflictResolver(vsCMElement elementType, LuaFileCodeModel fileCodeModel) { IConflictResolver result = null; switch (elementType) { case vsCMElement.vsCMElementFunctionInvokeStmt: case vsCMElement.vsCMElementFunction: { result = new FunctionConflictResolver(fileCodeModel); break; } } return result; }
/// <summary> /// Merges changes from IRenameResult into FileCodeModel. /// </summary> /// <param name="codeModel">The code model.</param> /// <param name="changedElements">The changed elements.</param> /// <param name="oldName">The old name.</param> private static void MergeChanges(LuaFileCodeModel codeModel, IEnumerable<CodeElement> changedElements, string oldName) { codeModel.MergeChanges(oldName, changedElements, false); }
/// <summary> /// Gets the root element. /// </summary> /// <param name="codeModel">LuaFileCodeModel instance.</param> /// <returns></returns> private static LuaCodeClass GetRootElement(LuaFileCodeModel codeModel) { if (codeModel != null) return codeModel.RootElement; return null; }
/// <summary> /// Initializes a new instance of the <see cref="ConflictResolverBase"/> class. /// </summary> /// <param name="fileCodeModel"></param> protected ConflictResolverBase(LuaFileCodeModel fileCodeModel) { this.fileCodeModel = fileCodeModel; }
/// <summary> /// Initializes a new instance of the <see cref="FunctionConflictResolver"/> class. /// </summary> /// <param name="fileCodeModel">The LuaFileCodemodel.</param> public FunctionConflictResolver(LuaFileCodeModel fileCodeModel) : base(fileCodeModel) { }
/// <summary> /// Initializes a new instance of the <see cref="LuaCodeDomNavigator"/> class. /// </summary> /// <param name="codeModel"></param> public LuaCodeDomNavigator(LuaFileCodeModel codeModel) : this(codeModel.RootElement) { }