首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eiffel:自省的文档和调用者类

Eiffel:自省的文档和调用者类
EN

Stack Overflow用户
提问于 2018-10-01 19:31:24
回答 1查看 50关注 0票数 0

我在哪里可以找到关于Eiffel自省的文档?

某些函数可以在GENERAL Class中调用

我正在寻找调用者的类名来修改logger's格式化程序

类似于:

代码语言:javascript
复制
Current.generator_client_object.class_name
EN

回答 1

Stack Overflow用户

发布于 2018-10-01 20:14:54

可以使用generator查找对象的类名。更详细的信息可以通过其他方式获取,从高到低排序:

  • 调用返回类型为structure
  • using的对象的特征类( REFLECTED_OBJECT类(有引用对象和扩展对象的版本)的后代)来挖掘对象类REFLECTORINTERNAL,以便使用较少的抽象进行较低级别的操作

没有标准的机制来获取当前正在执行的特性或其调用者的详细信息。仍然可以从异常堆栈跟踪中获取此信息。其思路如下:

  1. 添加一个将实际执行日志记录的功能。
  2. 向此功能添加一些代码,该代码将在使用{EXCEPTION}.trace检索到的堆栈跟踪的feature.
  3. Parse的
  4. 子句中引发异常(需要进行一些实验才能获得正确的结果)。
  5. 记录有关调用者的信息(类+功能+停止点编号)。

虽然这是可行的,但性能将是一个问题,因为异常处理和解析都是缓慢的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52590154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档