package heap;

import org.eclipse.hyades.loaders.trace.TraceUtils;
import org.eclipse.hyades.models.trace.TRCMethodProperties;
import org.eclipse.jdt.core.Signature;

public class SignatureTest {
	public static void main(String[] args) {
	
		// IMethod.getSignature uses unqualified params in cases wher they show up in import statements (new String[] { "I", "QList;" }, "QString;")
		// we also need to replace prefix Q with L
		String jniSignature = Signature.createMethodSignature(new String[] { "I", "Ljava.util.List;" }, "Ljava.lang.String;");
		
		System.out.println("SignatureTest.main() Signature.createMethodSignature = "+jniSignature);
		
		String signature = TraceUtils.convertMethodSignature(TRCMethodProperties.JAVA_PUBLIC, jniSignature);
		System.out.println("SignatureTest.main() TraceUtils.convertMethodSignature = "+signature);

		jniSignature = "(ILjava/util/List;)Ljava/lang/String;";
		System.out.println("SignatureTest.main() real signature = "+jniSignature);
		signature = TraceUtils.convertMethodSignature(TRCMethodProperties.JAVA_PUBLIC, jniSignature);
		System.out.println("SignatureTest.main() TraceUtils.convertMethodSignature real signature = "+signature);
	
	}
}
