示例#1
0
 private static String getSignature(IBinding binding) {
   if (binding != null) {
     switch (binding.getKind()) {
       case IBinding.METHOD:
         StringBuffer buf = new StringBuffer();
         buf.append('M');
         buf.append(binding.getName()).append('(');
         ITypeBinding[] parameters = ((IMethodBinding) binding).getParameterTypes();
         for (int i = 0; i < parameters.length; i++) {
           if (i > 0) {
             buf.append(',');
           }
           ITypeBinding paramType = parameters[i].getErasure();
           buf.append(paramType.getQualifiedName());
         }
         buf.append(')');
         return buf.toString();
       case IBinding.VARIABLE:
         return 'V' + binding.getName();
       case IBinding.TYPE:
         return 'T' + binding.getName();
     }
   }
   return null;
 }