class MethodList
pri next : MethodList;
pri Method : MethodInfo;
meth SetNext =^ ( val n: MethodList ·
next:= n;
)
end
meth GetNext =^ ( res n: MethodList ·
n:= next;
)
end
meth SetMethod =^ ( val m: methodInfo ·
method:= m;
)
end
meth GetMethod =^ ( res m: MethodInfo ·
m:= method;
)
end
meth FindMethod =^ ( val name : string;
val descriptor : string;
res mtd : MethodInfo;
res found : Boolean ·
var m : MethodList ·
var method : MethodInfo ·
var mtdName : String ·
var mtdDescriptor : String ·
m:= self;
Found:=false;
m.GetMethod(method)
method.GetmtdName(mtdName);
method.GetmtdDescriptor(mtdDescriptor);
If [] (name <> mtdName) or (descriptor <> mtdDescriptor) ®
m.getNext(m);
if [] m <> null ->
m.FindMethod(name, descriptor, mtd, found);
fi
[] (name = mtdName) and (descriptor = mtdDescriptor) ®
mtd:= method;
Found:=true
fi
end end end end
)
end
end