public bool Initialize(string fileName, int caretLineNumber, int caretColumn) { this.caretLine = caretLineNumber; this.caretColumn = caretColumn; ParseInformation parseInfo = HostCallback.GetParseInformation(fileName); if (parseInfo == null) { return(false); } cu = parseInfo.MostRecentCompilationUnit; if (cu != null) { callingClass = cu.GetInnermostClass(caretLine, caretColumn); if (cu.ProjectContent != null) { this.ProjectContent = cu.ProjectContent; } } callingMember = GetCurrentMember(); return(true); }
public ArrayList CtrlSpace(int caretLine, int caretColumn, string fileName, string fileContent, ExpressionContext context) { ArrayList result = new ArrayList(); if (language == NR.SupportedLanguage.VBNet) { foreach (KeyValuePair <string, string> pair in TypeReference.PrimitiveTypesVB) { if ("System." + pair.Key != pair.Value) { result.Add(GetPrimitiveClass(pair.Value, pair.Key)); } } result.Add("Global"); result.Add("New"); } else { foreach (KeyValuePair <string, string> pair in TypeReference.PrimitiveTypesCSharp) { result.Add(GetPrimitiveClass(pair.Value, pair.Key)); } } ParseInformation parseInfo = HostCallback.GetParseInformation(fileName); if (parseInfo == null) { return(null); } this.caretLine = caretLine; this.caretColumn = caretColumn; lookupTableVisitor = new LookupTableVisitor(languageProperties.NameComparer); cu = parseInfo.MostRecentCompilationUnit; if (cu != null) { callingClass = cu.GetInnermostClass(caretLine, caretColumn); } callingMember = GetCurrentMember(); if (callingMember != null) { CompilationUnit parsedCu = ParseCurrentMemberAsCompilationUnit(fileContent); if (parsedCu != null) { lookupTableVisitor.VisitCompilationUnit(parsedCu, null); } } CtrlSpaceResolveHelper.AddContentsFromCalling(result, callingClass, callingMember); foreach (KeyValuePair <string, List <LocalLookupVariable> > pair in lookupTableVisitor.Variables) { if (pair.Value != null && pair.Value.Count > 0) { foreach (LocalLookupVariable v in pair.Value) { if (IsInside(new NR.Location(caretColumn, caretLine), v.StartPos, v.EndPos)) { // convert to a field for display result.Add(CreateLocalVariableField(v, pair.Key)); break; } } } } CtrlSpaceResolveHelper.AddImportedNamespaceContents(result, cu, callingClass); return(result); }