resolve_err_t error)
{
classinfo *subclass;
- typeinfo subti;
+ typeinfo_t subti;
typecheck_result r;
char *msg;
s4 msglen;
#if defined(ENABLE_VERIFIER)
static resolve_result_t resolve_lazy_subtype_checks(methodinfo *refmethod,
- typeinfo *subtinfo,
+ typeinfo_t *subtinfo,
classref_or_classinfo supertype,
resolve_err_t error)
{
constant_FMIref *fieldref,
classinfo *container,
fieldinfo *fi,
- typeinfo *instanceti,
- typeinfo *valueti,
+ typeinfo_t *instanceti,
+ typeinfo_t *valueti,
bool isstatic,
bool isput)
{
/* instance type */
if (instanceti) {
- typeinfo *insttip;
- typeinfo tinfo;
+ typeinfo_t *insttip;
+ typeinfo_t tinfo;
/* The instanceslot must contain a reference to a non-array type */
#if defined(ENABLE_VERIFIER)
resolve_result_t resolve_method_instance_type_checks(methodinfo *refmethod,
methodinfo *mi,
- typeinfo *instanceti,
+ typeinfo_t *instanceti,
bool invokespecial)
{
- typeinfo tinfo;
- typeinfo *tip;
+ typeinfo_t tinfo;
+ typeinfo_t *tip;
resolve_result_t result;
if (invokespecial && TYPEINFO_IS_NEWOBJECT(*instanceti))
methodinfo *refmethod,
methodinfo *mi,
bool invokestatic,
- typedescriptor *stack)
+ typedescriptor_t *stack)
{
- typedescriptor *param;
+ typedescriptor_t *param;
resolve_result_t result;
methoddesc *md;
typedesc *paramtypes;
/* check subtype constraints for TYPE_ADR parameters */
- assert(mi->parseddesc->paramcount == ref->methodref->parseddesc.md->paramcount);
+ assert(mi == ref->methodref->p.method || mi->parseddesc->paramcount == ref->methodref->parseddesc.md->paramcount);
paramtypes = mi->parseddesc->paramtypes;
for (i = 0; i < mi->parseddesc->paramcount-instancecount; i++) {
static bool unresolved_subtype_set_from_typeinfo(classinfo *referer,
methodinfo *refmethod,
unresolved_subtype_set *stset,
- typeinfo *tinfo,
+ typeinfo_t *tinfo,
utf *declaredclassname)
{
int count;
#ifdef ENABLE_VERIFIER
unresolved_class * create_unresolved_class(methodinfo *refmethod,
constant_classref *classref,
- typeinfo *valuetype)
+ typeinfo_t *valuetype)
{
unresolved_class *ref;
bool resolve_constrain_unresolved_field(unresolved_field *ref,
classinfo *referer,
methodinfo *refmethod,
- typeinfo *instanceti,
- typeinfo *valueti)
+ typeinfo_t *instanceti,
+ typeinfo_t *valueti)
{
constant_FMIref *fieldref;
int type;
- typeinfo tinfo;
+ typeinfo_t tinfo;
typedesc *fd;
assert(ref);
/* record subtype constraints for the instance type, if any */
if (instanceti) {
- typeinfo *insttip;
+ typeinfo_t *insttip;
/* The instanceslot must contain a reference to a non-array type */
if (!TYPEINFO_IS_REFERENCE(*instanceti)) {
#if defined(ENABLE_VERIFIER)
bool resolve_constrain_unresolved_method_instance(unresolved_method *ref,
methodinfo *refmethod,
- typeinfo *instanceti,
+ typeinfo_t *instanceti,
bool invokespecial)
{
constant_FMIref *methodref;
constant_classref *instanceref;
- typeinfo tinfo;
- typeinfo *tip;
+ typeinfo_t tinfo;
+ typeinfo_t *tip;
assert(ref);
methodref = ref->methodref;
bool resolve_constrain_unresolved_method_params_stackbased(
unresolved_method *ref,
methodinfo *refmethod,
- typedescriptor *stack)
+ typedescriptor_t *stack)
{
constant_FMIref *methodref;
- typedescriptor *param;
+ typedescriptor_t *param;
methoddesc *md;
int i,j;
int type;