Skip to content

Commit 4f305de

Browse files
author
svorenova
committed
Handling wild card generics with exception
Instead of partial handling from before.
1 parent 8f527f8 commit 4f305de

File tree

1 file changed

+1
-42
lines changed

1 file changed

+1
-42
lines changed

src/java_bytecode/java_types.cpp

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -416,55 +416,14 @@ typet java_type_from_string(
416416
return java_reference_type(symbol_type);
417417
}
418418
case '*':
419-
{
420-
#ifdef DEBUG
421-
std::cout << class_name << std::endl;
422-
#endif
423-
// parse name of type variable
424-
INVARIANT(src[src.size()-1]==';', "Generic type name must end on ';'.");
425-
PRECONDITION(!class_name.empty());
426-
// INVARIANT(
427-
// src.substr(1, src.size()-2)=="*",
428-
// "Wildcard types do not have a name");
429-
irep_idt type_var_name(class_name+"::*");
430-
return java_generic_parametert(
431-
type_var_name,
432-
java_type_from_string("Ljava/lang/Object;").subtype());
433-
}
434419
case '+':
435-
{
436-
#ifdef DEBUG
437-
std::cout << class_name << std::endl;
438-
#endif
439-
// parse name of type variable
440-
INVARIANT(src[src.size()-1]==';', "Generic type name must end on ';'.");
441-
PRECONDITION(!class_name.empty());
442-
// INVARIANT(
443-
// src.substr(1, src.size()-2)=="*",
444-
// "Wildcard types do not have a name");
445-
irep_idt type_var_name(class_name+"::*");
446-
return java_generic_parametert(
447-
type_var_name,
448-
java_type_from_string("Ljava/lang/Object;").subtype());
449-
}
450420
case '-':
451421
{
452422
#ifdef DEBUG
453423
std::cout << class_name << std::endl;
454424
#endif
455-
// parse name of type variable
456-
INVARIANT(src[src.size()-1]==';', "Generic type name must end on ';'.");
457-
PRECONDITION(!class_name.empty());
458-
// INVARIANT(
459-
// src.substr(1, src.size()-2)=="*",
460-
// "Wildcard types do not have a name");
461-
irep_idt type_var_name(class_name+"::*");
462-
return java_generic_parametert(
463-
type_var_name,
464-
java_type_from_string("Ljava/lang/Object;").subtype());
425+
throw unsupported_java_class_siganture_exceptiont("wild card generic");
465426
}
466-
467-
468427
default:
469428
return nil_typet();
470429
}

0 commit comments

Comments
 (0)