private int PositionToInterfaceOrBaseIndex(object Position, bool toInterface) { ICodeDomElement icde = Position as ICodeDomElement; int position = Int32.MaxValue; if (icde == null) { if (Position != System.Reflection.Missing.Value) { position = (int)Position; } } int index = 0, realIndex = 0; foreach (CodeTypeReference baseType in CodeObject.BaseTypes) { CodeElement ce = (CodeElement)baseType.UserData[CodeKey]; if ((icde != null && ce == icde) || position == index + 1) { return(realIndex); } if (ce is CodeInterface == toInterface) { index++; } realIndex++; } return(realIndex); }
/// <summary> /// Gets parent element of ICodeDomElement. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> public static CodeElement GetParentElement(ICodeDomElement element) { if (element.ParentElement is LuaCodeFunction || element.ParentElement is LuaCodeClass) { return(element.ParentElement); } CodeElement parent = GetParent(element.ParentElement as ICodeDomElement); return(parent); }
/// <summary> /// Gets parent of the specified element. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> private static CodeElement GetParent(ICodeDomElement element) { if (element == null) { return(null); } if (element.ParentElement is LuaCodeFunction || element.ParentElement is LuaCodeClass || element.ParentElement == null) { return(element.ParentElement); } CodeElement parent = GetParent(element.ParentElement as ICodeDomElement); return(parent); }
private static int AttributePositionToIndex(CodeAttributeDeclarationCollection collection, object Position) { ICodeDomElement icde = Position as ICodeDomElement; if (icde != null) { return(collection.IndexOf((CodeAttributeDeclaration)icde.UntypedCodeObject) + 1); } if (Position == System.Reflection.Missing.Value) { return(collection.Count); } int pos = (int)Position; if (pos == -1) { return(collection.Count); } return(pos - 1); }
protected int PositionToIndex(object position) { ICodeDomElement icde = position as ICodeDomElement; if (icde != null) { return(CodeObject.Members.IndexOf((CodeTypeMember)icde.UntypedCodeObject) + 1); } if (position == System.Reflection.Missing.Value) { return(CodeObject.Members.Count); } int pos = (int)position; if (pos == -1) { return(CodeObject.Members.Count); } return(pos); }
/// <summary> /// Gets parent of the specified element. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> private static CodeElement GetParent(ICodeDomElement element) { if (element == null) return null; if (element.ParentElement is LuaCodeFunction || element.ParentElement is LuaCodeClass || element.ParentElement == null) { return element.ParentElement; } CodeElement parent = GetParent(element.ParentElement as ICodeDomElement); return parent; }
/// <summary> /// Gets parent element of ICodeDomElement. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> public static CodeElement GetParentElement(ICodeDomElement element) { if (element.ParentElement is LuaCodeFunction || element.ParentElement is LuaCodeClass) { return element.ParentElement; } CodeElement parent = GetParent(element.ParentElement as ICodeDomElement); return parent; }