+
+ public void parseHint(String s) throws ClassNotFoundException {
+ int p = s.indexOf(':');
+ if(p == -1) throw new IllegalArgumentException("invalid hint");
+ String cms = s.substring(0,p);
+ String hint = s.substring(p+1);
+ p = cms.lastIndexOf('.');
+ if(p == -1) throw new IllegalArgumentException("invalid hint");
+ String cs = cms.substring(0,p);
+ String ms = cms.substring(p+1);
+
+ JavaClass c = repoGet(cs);
+ Method[] methods = c.getMethods();
+ for(int i=0;i<methods.length;i++) {
+ if(ms.equals("*") || methods[i].getName().equals(ms)) {
+ MethodRef mr = new MethodRef(c,methods[i]);
+ Vector v = (Vector) hints.get(mr);
+ if(v == null) hints.put(mr,v=new Vector());
+ v.add(hint);
+ }
+ }
+ }