当前位置: 首页>>代码示例>>C#>>正文


C# GetMemberOptions.Keywords方法代码示例

本文整理汇总了C#中GetMemberOptions.Keywords方法的典型用法代码示例。如果您正苦于以下问题:C# GetMemberOptions.Keywords方法的具体用法?C# GetMemberOptions.Keywords怎么用?C# GetMemberOptions.Keywords使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GetMemberOptions的用法示例。


在下文中一共展示了GetMemberOptions.Keywords方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetAllAvailableMembersByIndex

        /// <summary>
        /// Gets the available names at the given location.  This includes built-in variables, global variables, and locals.
        /// </summary>
        /// <param name="index">The 0-based absolute index into the file where the available mebmers should be looked up.</param>
        public IEnumerable<MemberResult> GetAllAvailableMembersByIndex(int index, GetMemberOptions options = GetMemberOptions.None) {
            var result = new Dictionary<string, List<AnalysisValue>>();

            // collect variables from user defined scopes
            var scope = FindEnvironment(index);
            foreach (var s in scope.EnumerateTowardsGlobal) {
                foreach (var kvp in s.Variables) {
                    result[kvp.Key] = new List<AnalysisValue>(kvp.Value.GetTypesNoCopy(_unit).Select(x => x.Value));
                }
            }

            foreach (var kvp in this._unit.Analyzer._globalObject.GetAllMembers(_unit.ProjectEntry)) {
                List<AnalysisValue> values;
                if (!result.TryGetValue(kvp.Key, out values)) {
                    result[kvp.Key] = new List<AnalysisValue>(kvp.Value.Select(x => x.Value));
                } else {
                    values.AddRange(kvp.Value.Select(x => x.Value));
                }
            }

            var res = MemberDictToResultList(options, result);
            if (options.Keywords()) {
                res = GetKeywordMembers(options, scope).Union(res);
            }

            return res;
        }
开发者ID:lioaphy,项目名称:nodejstools,代码行数:31,代码来源:ModuleAnalysis.cs

示例2: GetAllAvailableMembers

        /// <summary>
        /// Gets the available names at the given location.  This includes
        /// built-in variables, global variables, and locals.
        /// </summary>
        /// <param name="location">
        /// The location in the file where the available members should be
        /// looked up.
        /// </param>
        /// <remarks>New in 2.2</remarks>
        public IEnumerable<MemberResult> GetAllAvailableMembers(SourceLocation location, GetMemberOptions options = GetMemberOptions.IntersectMultipleResults)
        {
            var result = new Dictionary<string, IEnumerable<AnalysisValue>>();

            // collect builtins
            if (!options.HasFlag(GetMemberOptions.ExcludeBuiltins)) {
                foreach (var variable in ProjectState.BuiltinModule.GetAllMembers(ProjectState._defaultContext)) {
                    result[variable.Key] = new List<AnalysisValue>(variable.Value);
                }
            }

            // collect variables from user defined scopes
            var scope = FindScope(location);
            foreach (var s in scope.EnumerateTowardsGlobal) {
                foreach (var kvp in s.GetAllMergedVariables()) {
                    // deliberately overwrite variables from outer scopes
                    result[kvp.Key] = new List<AnalysisValue>(kvp.Value.TypesNoCopy);
                }
            }

            var res = MemberDictToResultList(GetPrivatePrefix(scope), options, result);
            if (options.Keywords()) {
                res = GetKeywordMembers(options, scope).Union(res);
            }

            return res;
        }
开发者ID:,项目名称:,代码行数:36,代码来源:

示例3: GetAllAvailableMembersByIndex

        /// <summary>
        /// Gets the available names at the given location.  This includes built-in variables, global variables, and locals.
        /// </summary>
        /// <param name="index">The 0-based absolute index into the file where the available mebmers should be looked up.</param>
        public IEnumerable<MemberResult> GetAllAvailableMembersByIndex(int index, GetMemberOptions options = GetMemberOptions.IntersectMultipleResults)
        {
            var result = new Dictionary<string, List<Namespace>>();

            // collect builtins
            foreach (var variable in ProjectState.BuiltinModule.GetAllMembers(ProjectState._defaultContext)) {
                result[variable.Key] = new List<Namespace>(variable.Value);
            }

            // collect variables from user defined scopes
            var scope = FindScope(index);
            foreach (var s in scope.EnumerateTowardsGlobal) {
                foreach (var kvp in s.GetAllMergedVariables()) {
                    result[kvp.Key] = new List<Namespace>(kvp.Value.TypesNoCopy);
                }
            }

            var res = MemberDictToResultList(GetPrivatePrefix(scope), options, result);
            if (options.Keywords()) {
                res = Enumerable.Concat(res, GetKeywordMembers(options, scope));
            }

            return res;
        }
开发者ID:borota,项目名称:JTVS,代码行数:28,代码来源:ModuleAnalysis.cs


注:本文中的GetMemberOptions.Keywords方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。