初始化 classObject 对象
(class *sym.Class)
| 934 | |
| 935 | // 初始化 classObject 对象 |
| 936 | func (v *Visitor) initClassObject(class *sym.Class) *stack.ClassObject { |
| 937 | object := stack.NewClassObject(class) |
| 938 | |
| 939 | var tempStack stack.Stack |
| 940 | tempStack.Push(class) |
| 941 | |
| 942 | v.pushStack(stack.NewClassStackFrame(object)) |
| 943 | // todo crossoverJie 如果有父类需要一次初始化 |
| 944 | for !tempStack.IsEmpty() { |
| 945 | pop := tempStack.Pop().(*sym.Class) |
| 946 | v.initClassObjectField(pop, object) |
| 947 | } |
| 948 | v.popStack() |
| 949 | return object |
| 950 | } |
| 951 | |
| 952 | // 初始化 classObject 中的变量数据 |
| 953 | func (v *Visitor) initClassObjectField(class *sym.Class, object *stack.ClassObject) { |
no test coverage detected