[发明专利]软件开发工具无效
申请号: | 201110117310.8 | 申请日: | 2011-04-29 |
公开(公告)号: | CN102236550A | 公开(公告)日: | 2011-11-09 |
发明(设计)人: | D·J·帕克;H·常;T·扬 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 黄嵩泉 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 开发 工具 | ||
技术领域
本申请涉及软件开发工具和方法。
背景技术
集成开发环境(IDE)是帮助程序员开发软件的一组工具。IDE可包括源代码编辑器、编译器和调试器。它可包括允许程序员查看类层次结构信息、关于类、方法或其他程序元素的信息的浏览器。
IDE或其他编程环境可包括自动完成特征来在程序员输入文本时帮助程序员。使用自动完成特征,用户可键入已被定义成属于一特定类的对象的名称,后跟一句点。自动完成工具可识别对象的类并提供包括字段、属性和方法的类成员列表。用户可从该列表进行选择,而不是键入所希望的类成员的名称。该工具然后将所选的成员名称插入源代码。如果用户在作出选择之前键入了一个或多个字符,则自动完成工具可过滤该列表使其限于匹配文本。在键入了一个或多个字符之后,用户可从列表选择一项目。
发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
简而言之,一种系统、方法和各组件用于生成与还未被静态地声明具有类型的程序变量对应的完成列表。变量的类型可在目标程序的执行期间被解析。在一个实施方式中,运行时监控程序在目标程序代码的执行期间跟踪事件,以确定程序变量的类型解析。对于每个运行时类型解析,可确定并聚集与该类型相关联的一组类成员以形成完成列表。
在一个实施方式中,在编辑会话中时,列表调用事件使得列表生成器执行对目标程序的至少一些部分的控制流分析。可找到对所述变量的一个或多个赋值。每个表达式可被分析以确定变量的候选类型集。与每个候选类型相关联的、或可从该候选类型的对象获得的类成员被检索并插入到完成列表中。
在一个实施方式中,对变量的使用可被分析来确定一个或多个候选类型。这可基于调用变量对象的成员的指令、将变量用作对其中相应参数具有声明的类型的方法的自变量、将变量对象用作表达式中的操作数、以及对变量的其他使用。
在一个实施方式中,控制流分析可导致汇编件(assembly)。编译时汇编件可被分析来检索候选类型或相应成员。在编辑会话中时,运行时汇编件可被加载,并且指定的类型可被实例化。可使用反射(Reflection)来确定相应成员的列表。
在一个实施方式中,完成列表的项目可基于运行时类型解析或静态分析来排序。完成列表可被过滤以呈现具有配置的准则的完成列表,或呈现完成列表项目的各组。
为了实现前述及相关目的,在这里结合以下描述及附图来描述该系统的某些说明性方面。然而,这些方面仅指示了可采用本发明的原理的各种方法中的少数几种,且本发明旨在包括所有这样的方面及其等效方面。通过结合附图考虑本发明的以下详细描述,本发明的其它优点以及新颖的特征将变得显而易见。
附图说明
参考以下附图来描述本发明的非限制性且非穷尽性实施方式。在各附图中,除非另外指明,否则在全部附图中相同的附图标记指代相同的部分。
为了帮助理解本发明,将参考以下与附图相关联地阅读的具体实施方式,附图中:
图1是其中可实现此处所描述的机制的计算机系统的框图;
图2示出其中可采用此处所描述的某些机制的示例编辑会话的屏幕截图;
图3示出其中可采用此处所描述的某些机制的另一示例编辑会话的屏幕截图;
图4示出其中可采用此处所描述的某些机制的另一示例编辑会话的屏幕截图;
图5A示出其中可采用此处所描述的某些机制的另一示例编辑会话的屏幕截图;
图5B示出其中可采用此处所描述的某些机制的另一示例编辑会话的屏幕截图;
图6示出其中可采用此处所描述的某些机制的另一示例编辑会话的屏幕截图;
图7A-C示出其中可采用此处所描述的某些机制的示例编辑会话的附加屏幕截图;
图8是示出向用户提供完成列表的过程的示例实施方式的流程图;
图9是示出确定程序变量的一个或多个候选类型的过程的示例实施方式的流程图;
图10是示出确定程序变量的候选类型的过程的示例实施方式的流程图;
图11是示出基于动态分析确定程序变量的候选类型的过程的示例实施方式的流程图;
图12示出了计算设备的一个实施方式,示出可用于执行此处所描述的功能的计算设备的所选组件。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110117310.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种负载分担方法和装置
- 下一篇:充气保温菜罩