public string ToDescriptor() { string str = "("; foreach (var param in Parameters) { str += param.Type.ToDescriptor(); } str += ")"; if (ReturnType.PrimitiveType == TypeCode.Empty && ReturnType.ClassName == null) { str += "V"; } else { str += ReturnType.ToDescriptor(); } return(str); }
public ushort ConstClass(JavaType v) { string nameOrDescriptor; if (v.ArrayRank != 0) { nameOrDescriptor = v.ToDescriptor(); } else if (v.ClassName != null) { nameOrDescriptor = v.ClassName.Replace('.', '/'); } else { throw Where.Exception("invalid class name"); } ushort stringIndex = ConstUtf8(nameOrDescriptor); return((ushort)constants.Put(new JavaConstant.Class(stringIndex), Where)); }