protected UnionPartBase([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder, bool hasPublicNestedTypes, bool isSingleCaseUnion) : base(declaration, cacheBuilder) { HasPublicNestedTypes = hasPublicNestedTypes; RepresentationAccessRights = GetRepresentationAccessRights(declaration); IsSingleCaseUnion = isSingleCaseUnion; }
protected FSharpTypeMembersOwnerTypePart([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, ModifiersUtil.GetDecoration(declaration.AccessModifier, declaration.AllAttributes), declaration.TypeParameters, cacheBuilder) { var extendListShortNames = new FrugalLocalHashSet <string>(); foreach (var member in declaration.TypeMembersEnumerable) { var baseTypeIdentifier = (member as ITypeInherit)?.TypeName?.Identifier; if (baseTypeIdentifier != null) { extendListShortNames.Add(baseTypeIdentifier.Name); continue; } var interfaceImplTypeIdentifier = (member as IInterfaceImplementation)?.TypeName?.Identifier; if (interfaceImplTypeIdentifier != null) { extendListShortNames.Add(interfaceImplTypeIdentifier.Name); continue; } var interfaceInheritTypeIdentifier = (member as IInterfaceInherit)?.TypeName?.Identifier; if (interfaceInheritTypeIdentifier != null) { extendListShortNames.Add(interfaceInheritTypeIdentifier.Name); } } ExtendsListShortNames = extendListShortNames.ToArray(); }
protected UnionPartBase([NotNull] IUnionDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder, bool hasPublicNestedTypes) : base(declaration, cacheBuilder) { HasPublicNestedTypes = hasPublicNestedTypes; RepresentationAccessRights = GetRepresentationAccessRights(declaration); IsSingleCaseUnion = declaration.UnionCases.Count == 1; }
public void Start( string path, ICacheBuilder cache, ICrawlResult crawlReader, PluginLocator pluginLocator, EventEndpoint eventDispatcher) { _cache = cache; _crawlReader = crawlReader; _eventDispatcher = eventDispatcher; _tracker = new FileChangeTracker((x) => { _eventDispatcher.Send( "codemodel raw-filesystem-change-" + x.Type.ToString().ToLower() + " \"" + x.Path + "\""); }); pluginLocator.Locate().ToList() .ForEach(x => { var plugin = new PluginPattern(x); _plugins.Add(plugin); _cache.Plugins.Add( new CachedPlugin(x.GetLanguage(), plugin.Patterns)); }); _tracker.Start(path, getFilter(), handleChanges); }
public CacheService(IRedisCacheProvider redisCacheProvider, IServiceProvider serviceProvider, IUnitOfWork unitOfWork, ICacheBuilder cacheBuilder) { _redisCacheProvider = redisCacheProvider; _serviceProvider = serviceProvider; _unitOfWork = unitOfWork; _cacheBuilder = cacheBuilder; }
public void Start( string path, ICacheBuilder cache, ICrawlResult crawlReader, PluginLocator pluginLocator, EventEndpoint eventDispatcher) { _cache = cache; _crawlReader = crawlReader; _eventDispatcher = eventDispatcher; Logger.Write("Setting up file trackers"); Logger.Write("Setting up token file trackers"); _tracker = new FileChangeTracker((x) => { _eventDispatcher.Send( "codemodel raw-filesystem-change-" + x.Type.ToString().ToLower() + " \"" + x.Path + "\""); }); Logger.Write("Setting up local file trackers"); _localTracker = new FileChangeTracker((x) => { _eventDispatcher.Send( "codemodel raw-filesystem-change-" + x.Type.ToString().ToLower() + " \"" + x.Path + "\""); }); Logger.Write("Setting up global file trackers"); _globalTracker = new FileChangeTracker((x) => { _eventDispatcher.Send( "codemodel raw-filesystem-change-" + x.Type.ToString().ToLower() + " \"" + x.Path + "\""); }); Logger.Write("Adding plugins to cache"); var plugins = pluginLocator.Locate().ToList(); foreach (var x in plugins) { var plugin = new PluginPattern(x); _plugins.Add(plugin); _cache.Plugins.Add( new CachedPlugin(x.GetLanguage(), plugin.Patterns)); Logger.Write("Added plugin " + x.GetLanguage()); } Logger.Write("Starting tracker for {0}", path); _tracker.Start(path, getFilter(), handleChanges); var locator = new ProfileLocator(path); if (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.MacOSX) { var profilePath = locator.GetLocalProfilePath(locator.GetActiveLocalProfile()); if (Directory.Exists(profilePath)) { Logger.Write("Starting tracker for {0}", profilePath); _localTracker.Start(profilePath, getFilter(), handleChanges); } } var globalPath = locator.GetGlobalProfilePath(locator.GetActiveGlobalProfile()); if (Directory.Exists(globalPath)) { Logger.Write("Starting tracker for {0}", globalPath); _globalTracker.Start(globalPath, getFilter(), handleChanges); } }
public void BuildCache(IFile file, ICacheBuilder builder) { var sourceFile = file.GetSourceFile(); Assertion.AssertNotNull(sourceFile, "sourceFile != null"); var declarationProcessor = new FSharpCacheDeclarationProcessor(builder, myCheckerService); (file as IFSharpFile)?.Accept(declarationProcessor); }
public TrayForm(CommandEndpoint endpoint, string defaultLanguage, ICacheBuilder builder) { _endpoint = endpoint; _cacheBuilder = builder; _ctx = SynchronizationContext.Current; _defaultLanguage = defaultLanguage; setupForm(); new Thread(startEngine).Start(); setupTray(); }
public TrayForm(CommandEndpoint endpoint, string defaultLanguage, ICacheBuilder builder) { _endpoint = endpoint; _cacheBuilder = builder; _ctx = SynchronizationContext.Current; _defaultLanguage = defaultLanguage; new Thread(startEngine).Start(); setupTray(); setupForm(); }
public UnionCasePart([NotNull] INestedTypeUnionCaseDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, ModifiersUtil.GetDecoration(declaration), TreeNodeCollection <ITypeParameterOfTypeDeclaration> .Empty, cacheBuilder) { var unionShortName = declaration.GetContainingNode <IUnionDeclaration>()?.ShortName; ExtendsListShortNames = unionShortName != null ? new[] { cacheBuilder.Intern(unionShortName) } : EmptyArray <string> .Instance; }
public CompleteSnippetHandler(ICacheBuilder cache, string keyPath, CommandEndpoint endpoint) { _cache = cache; _keyPath = keyPath; _endpoint = endpoint; _dispatch = (msg) => { Logger.Write("dispatching " + msg); _endpoint.Handle(msg); }; _editor = new EngineLocator(new FS()).GetInstance(_keyPath); }
protected FSharpTypeMembersOwnerTypePart([NotNull] IFSharpTypeOldDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, ModifiersUtil.GetDecoration(declaration.AccessModifier, declaration.Attributes), declaration.TypeParameters, cacheBuilder) { var extendListShortNames = new FrugalLocalHashSet <string>(); extendListShortNames = ProcessMembers(declaration.TypeMembersEnumerable, extendListShortNames); if (declaration is IFSharpTypeDeclaration { TypeRepresentation : IObjectModelTypeRepresentation repr })
public TypeCache(ICacheBuilder cacheBuilder) { var cacheDataEntities = cacheBuilder.BuildTypeCache <T, T2>(); cacheData = cacheDataEntities.Values.Select(i => new VmType() { Id = i.Id, Code = i.Code, OrderNumber = i.OrderNumber, Names = i.Names.Select(j => new VmTypeName() { Name = j.Name, LocalizationId = j.LocalizationId }).ToList() }).ToDictionary(i => i.Code.ToLower(), i => i); reverseCache = cacheData.ToDictionary(i => i.Value.Id, i => i.Value); }
public void BuildCache(IFile file, ICacheBuilder builder) { var sourceFile = file.GetSourceFile(); Assertion.AssertNotNull(sourceFile, "sourceFile != null"); // not supported until we have psi modules for scripts if (sourceFile.LanguageType.Equals(FSharpScriptProjectFileType.Instance)) { return; } var declarationProcessor = new FSharpCacheDeclarationProcessor(builder, myCheckerService); (file as IFSharpFile)?.Accept(declarationProcessor); }
/// <summary> /// Set a cache builder to use for the specified type of cache /// </summary> /// <param name="cacheType">The cache type</param> /// <param name="cacheBuilder">The cache builder used to create the cache. /// If null is passed then the specified cache type will operate without a /// cache. /// </param> /// <returns>The <see cref="DataSetBuilder"/></returns> public T SetCacheBuilder(CacheType cacheType, ICacheBuilder cacheBuilder) { if (_cacheConfiguration.ContainsKey(cacheType)) { _cacheConfiguration[cacheType].Builder = cacheBuilder; } else { _cacheConfiguration.Add(cacheType, new CacheOptions() { Builder = cacheBuilder, Size = CacheTemplate.Default.GetCacheConfiguration()[cacheType].Size }); } return((T)this); }
protected FSharpTypePart([NotNull] T declaration, [NotNull] string shortName, MemberDecoration memberDecoration, int typeParameters, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, shortName, typeParameters) { Modifiers = memberDecoration; var attrNames = new FrugalLocalHashSet <string>(); foreach (var attr in declaration.GetAttributes()) { attrNames.Add(cacheBuilder.Intern(attr.GetShortName())); } AttributeClassNames = attrNames.ToArray(); var methods = new LocalList <ExtensionMethodInfo>(); foreach (var member in declaration.MemberDeclarations) { // There are two interesting scenarios: // * Members in types // * Bindings in modules // Type declaration as a member can only appear in module and we ignore it. if (member is ITypeDeclaration) { continue; } // A cheap check until we have a proper attributes resolve during cache building. if (!member.GetAttributes().Any(a => a.ShortNameEquals("Extension"))) { continue; } var offset = member.GetTreeStartOffset().Offset; methods.Add(new ExtensionMethodInfo(AnyCandidateType.INSTANCE, offset, member.DeclaredName) { Owner = this }); } if (methods.IsEmpty()) { return; } ExtensionMethodInfos = methods.ToArray(); }
public ObjectExpressionTypePart([NotNull] IObjExpr declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, declaration.DeclaredName, MemberDecoration.DefaultValue, 0, cacheBuilder) { var extendListShortNames = new FrugalLocalHashSet <string>(); var baseClassOrInterfaceName = declaration.TypeName?.Identifier?.Name; if (baseClassOrInterfaceName != null) { extendListShortNames.Add(baseClassOrInterfaceName); } foreach (var interfaceImplementation in declaration.InterfaceImplementations) { var interfaceName = interfaceImplementation.TypeName?.Identifier?.Name; if (interfaceName != null) { extendListShortNames.Add(interfaceName); } } ExtendsListShortNames = extendListShortNames.ToArray(); }
protected FSharpTypePart([NotNull] T declaration, [NotNull] string shortName, MemberDecoration memberDecoration, int typeParameters, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, shortName, typeParameters) { Modifiers = memberDecoration; var attributes = declaration.GetAttributes(); var attrNames = new FrugalLocalHashSet <string>(); foreach (var attr in attributes) { attrNames.Add(cacheBuilder.Intern(attr.LongIdentifier?.Name.GetAttributeShortName())); } AttributeClassNames = attrNames.ToArray(); if (!attributes.Any(a => a.ShortNameEquals("Extension"))) { return; } var methods = new LocalList <ExtensionMethodInfo>(); foreach (var member in declaration.MemberDeclarations) { if (!member.GetAttributes().Any(a => a.ShortNameEquals("Extension"))) { continue; } var offset = member.GetTreeStartOffset().Offset; methods.Add(new ExtensionMethodInfo(AnyCandidateType.INSTANCE, offset, member.DeclaredName) { Owner = this }); } ExtensionMethodInfos = methods.ToArray(); }
public static string GetNestedModuleShortName(this INestedModuleDeclaration declaration, ICacheBuilder cacheBuilder) { var parent = declaration.Parent as IModuleLikeDeclaration; var shortName = declaration.ShortName; var moduleName = parent?.Children <IFSharpTypeDeclaration>().Any(t => t.TypeParameters.IsEmpty && t.ShortName.Equals(shortName, StringComparison.Ordinal)) ?? false ? shortName + "Module" : shortName; return(cacheBuilder.Intern(moduleName)); }
public StructTypeAbbreviationOrDeclarationPart([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, cacheBuilder) { }
public ExceptionPart([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, cacheBuilder) { }
protected FSharpClassLikePart([NotNull] T declaration, MemberDecoration memberDecoration, TreeNodeCollection <ITypeParameterOfTypeDeclaration> typeParameters, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, memberDecoration, typeParameters, cacheBuilder) { }
public SnippetDeleteHandler(ICacheBuilder cache, string keyPath) { _cache = cache; _keyPath = keyPath; }
public StructExtensionPart([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, cacheBuilder) { }
public LanguageCache(ICacheBuilder cacheBuilder) { cacheData = cacheBuilder.BuildCache <Language, string, Guid>(i => i.Code, i => i.Id); }
public StructUnionPart([NotNull] IUnionDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder, bool hasPublicNestedTypes) : base(declaration, cacheBuilder, hasPublicNestedTypes) { }
public CompleteSnippetHandler(Editor editor, ICacheBuilder cache, string keyPath) { _editor = editor; _cache = cache; _keyPath = keyPath; }
public PluginFinder(ICacheBuilder cache) { _cache = cache; }
protected FSharpTypeParametersOwnerPart([NotNull] T declaration, MemberDecoration memberDecoration, TreeNodeCollection <ITypeParameterOfTypeDeclaration> typeParameters, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, cacheBuilder.Intern(declaration.ShortName), memberDecoration, typeParameters.Count, cacheBuilder) { var parameters = declaration.TypeParameters; if (parameters.Count == 0) { myTypeParameterNames = EmptyArray <string> .Instance; return; } myTypeParameterNames = new string[typeParameters.Count]; for (var i = 0; i < typeParameters.Count; i++) { var name = typeParameters[i].GetText(); var trimmed = !name.IsEmpty() && name[0] == '\'' ? name.Substring(1) : name; myTypeParameterNames[i] = cacheBuilder.Intern(trimmed); } }
public DelegatePart([NotNull] IDelegateDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, ModifiersUtil.GetDecoration(declaration.AccessModifier, declaration.AllAttributes), declaration.TypeParameters, cacheBuilder) { }
protected TypeAbbreviationOrDeclarationPartBase([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, cacheBuilder, false, true) { }
protected ModulePartBase([NotNull] T declaration, [NotNull] string shortName, MemberDecoration memberDecoration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, shortName, memberDecoration, 0, cacheBuilder) { }
public LanguageOrderCache(ICacheBuilder cacheBuilder) { cacheData = cacheBuilder.BuildCache <Language, Guid, int>(i => i.Id, i => i.OrderNumber ?? int.MaxValue); }
public SnippetEditHandler(CommandEndpoint endpoint, ICacheBuilder cache, string keyPath) { _endpoint = endpoint; _cache = cache; _keyPath = keyPath; }
public FSharpCacheDeclarationProcessor(ICacheBuilder builder, FSharpCheckerService checkerService) { Builder = builder; myCheckerService = checkerService; }
protected RecordPartBase([NotNull] IFSharpTypeDeclaration declaration, [NotNull] ICacheBuilder cacheBuilder) : base(declaration, cacheBuilder) { CliMutable = declaration.HasAttribute("CLIMutable"); RepresentationAccessRights = declaration.GetRepresentationAccessRights(); }