会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
热词
    • 1. 发明授权
    • Introspection support for local and anonymous classes
    • 对本地和匿名类的内省支持
    • US07669184B2
    • 2010-02-23
    • US11173976
    • 2005-06-30
    • Gilad BrachaJoseph D. DarcyPeter von der Ahe
    • Gilad BrachaJoseph D. DarcyPeter von der Ahe
    • G06F9/44
    • G06F9/4488
    • A technique in accordance with one embodiment of the present invention provides introspection support for anonymous and local classes. As a result of the technique, an enclosing class that defines a generic type variable that is not defined within a local or anonymous class that refers to the generic type variable can be determined. According to one embodiment of the invention, when a compiler determines that a particular class is a local or anonymous class, the compiler emits, into the particular class' binary class file, information that indicates which class encloses the particular class. In response to the invocation of a method (described herein) relative to a reflective proxy that corresponds to an enclosed class, information that identifies an enclosing class that encloses the enclosed class is returned. This is so even if the enclosed class is a local or anonymous class.
    • 根据本发明的一个实施例的技术为匿名和本地类提供内省支持。 作为该技术的结果,可以确定定义在引用泛型类型变量的本地或匿名类中未定义的泛型类型变量的封闭类。 根据本发明的一个实施例,当编译器确定特定类是本地或匿名类时,编译器向特定类“二进制类文件”发出指示哪个类包围特定类的信息。 响应于相对于与封闭类对应的反射代理的方法(在此描述)的响应,返回标识包围封闭类的封闭类的信息。 即使封闭的类是本地或匿名类也是如此。
    • 2. 发明授权
    • Allowing non-generified methods to override generified methods
    • 允许非生成的方法来覆盖生成的方法
    • US07735070B2
    • 2010-06-08
    • US11174073
    • 2005-06-30
    • Peter von der AheGilad Bracha
    • Peter von der AheGilad Bracha
    • G06F9/45G06F9/44
    • G06F9/4491
    • In accordance with one embodiment of the present invention, there is provided a technique for allowing a first method to override a second method as long as specified criteria are satisfied, even if the types of the parameters of the first method differ from the types of the parameters of the second method, and even if the return type of the first method differs from the return type of the second method. As a result of the technique, older methods, which do not have generic return types and/or generically typed parameters, can continue to override methods that did not used to have generic return types and/or generically typed parameters, but now do.
    • 根据本发明的一个实施例,提供了一种允许第一种方法来覆盖第二种方法的技术,只要满足指定的标准,即使第一种方法的参数的类型与 第二种方法的参数,即使第一种方法的返回类型与第二种方法的返回类型不同。 作为该技术的结果,不具有通用返回类型和/或通用类型参数的旧方法可以继续覆盖没有使用通用返回类型和/或通用类型参数的方法,但现在可以这样做。
    • 6. 发明授权
    • Method and apparatus for performing method lookup in the presence of modularity constructs to support transitive method override
    • 用于在存在模块化结构的情况下执行方法查找以支持传递方法覆盖的方法和装置
    • US06687759B1
    • 2004-02-03
    • US09374463
    • 1999-08-13
    • Gilad Bracha
    • Gilad Bracha
    • G06F900
    • G06F9/449
    • A method lookup mechanism is disclosed which not only enforces accessibility constraints imposed by modularity constructs but also enables transitive method override. According to one embodiment, when a method m is invoked on a target object, the method m in a resolved class is checked to determine whether it has been declared as public/protected. If so, then standard method lookup may be used to determine the proper implementation of method m to invoke. However, if the resolved method is not declared as public/protected, then the class of the target object is searched for an implementation of the method m. If no implementation is found, then a superclass of the target object class is searched for an implementation. This process repeats until an implementation is found or until the resolved class is reached. If an implementation for method m is found in a class (referred to as the current class) other than the resolved class, then a determination is made as to whether the current class can access the method m in the resolved class. The current class can access method m of the resolved class if the current class is in the same package P as the resolved class, or if an intervening class has “publicized” the method m of the resolved class. If either one of these conditions is met, then the implementation for method m in the current class is invoked. In effect, the method m of the current class is allowed to override the method m of the resolved class. Performing method lookup in this manner makes it possible to both enforce accessibility constraints imposed by modularity constructs and enable transitive method override.
    • 公开了一种方法查找机制,其不仅强制由模块化构造施加的可访问性约束,而且还实现传递方法覆盖。 根据一个实施例,当在目标对象上调用方法m时,检查解析类中的方法m以确定它是否被声明为公共/受保护的。 如果是这样,则可以使用标准方法查找来确定要调用的方法m的正确实现。 但是,如果已解析的方法未声明为public / protected,则会搜索目标对象的类以实现方法m。 如果没有找到实现,则搜索目标对象类的超类以实现。 该过程重复,直到找到实现或直到达到解决的类。 如果在解析类之外的类(称为当前类)中找到方法m的实现,则确定当前类是否可以访问解析类中的方法m。 当前类可以访问解析类的方法m,如果当前类与解析类在同一个包P中,或者如果一个介入类已经“公开”了解析类的方法m。 如果满足这些条件之一,则调用当前类中方法m的实现。 实际上,允许当前类的方法m覆盖解析类的方法m。 以这种方式执行方法查找可以实现模块化结构强加的可访问性约束,并实现传递方法覆盖。
    • 8. 发明授权
    • Method and apparatus for constructing dispatch tables which enable transitive method override
    • 用于构建调度表的方法和装置,其使能传递方法覆盖
    • US06725280B1
    • 2004-04-20
    • US09374879
    • 1999-08-13
    • Gilad Bracha
    • Gilad Bracha
    • G06F944
    • G06F9/449
    • A mechanism is disclosed for constructing dispatch tables which enable transitive method override. A dispatch table for a class C (wherein C is within a package P and is a subclass of superclass S) is constructed as follows. First, the S dispatch table is copied and is used as the starting point for the C dispatch table. Then, for each locally declared method m in C, the method m is checked to determine whether it has been marked public/protected. If so, then the S dispatch table is checked for a public/protected entry corresponding to a method having the same name as method m. If such an entry is found, then the corresponding entry in the C dispatch table is overridden. Otherwise, a new entry is allocated in the C dispatch table and is marked public/protected. In addition, the S dispatch table is checked for a package private (private to package P) entry corresponding to a method having the same name as method m. If such an entry is found, then the corresponding entry in the C dispatch table is overridden and is marked public/protected. If, on the other hand, the method m is marked package private, then the S dispatch table is checked for a package private entry (private to package P) corresponding to a method having the same name as method m. If such an entry is found, then the corresponding entry in the C dispatch table is overridden. Otherwise, a new entry is allocated in the C dispatch table and is marked package private. In addition, the S dispatch table is checked for a public/protected entry corresponding to a method having the same name as method m. If such an entry is found, then the corresponding entry in the C dispatch table is overridden, but that entry's public/protected marking is maintained. Constructed in this manner, the C dispatch table will support transitive method override.
    • 公开了一种用于构建能够传递方法覆盖的调度表的机制。 C类(其中C在包P内并且是超类S的子类)的调度表被构造如下。 首先,S分派表被复制并用作C调度表的起始点。 然后,对于C中的每个本地声明的方法m,检查方法m以确定它是否被标记为公共/受保护。 如果是这样,则检查S分派表与对应于与方法m具有相同名称的方法的公共/受保护条目。 如果找到这样的条目,则C调度表中的相应条目将被覆盖。 否则,在C调度表中分配一个新条目,并将其标记为public / protected。 另外,对于与方法m具有相同名称的方法对应的包分配表检查包私有(私有到包P)条目。 如果找到这样的条目,则C dispatch表中的相应条目将被覆盖并被标记为public / protected。 另一方面,如果方法m被标记为package private,则对于与方法m具有相同名称的方法对应的包私有条目(对包P是私有的),检查S dispatch表。 如果找到这样的条目,则C调度表中的相应条目将被覆盖。 否则,在C调度表中分配一个新条目,并将其标记为私有的。 另外,对于与方法m具有相同名称的方法相对应的公共/保护条目,检查S分派表。 如果找到这样的条目,则C调度表中的相应条目被覆盖,但该条目的公共/受保护标记被维护。 以这种方式构造,C调度表将支持传递方法覆盖。