287 // it doesn't show up again.
288 if ((OptionType::Unknown != CompilerOracle::parse_option_type(method_name) ||
289 CompileCommandEnum::Unknown != CompilerOracle::parse_option_name(method_name)) &&
290 *(line + bytes_read) != '\0' &&
291 strstr(line + bytes_read, method_name) == nullptr) {
292 error_msg = "Did not specify any method name";
293 method_name[0] = '\0';
294 return;
295 }
296
297 if ((strchr(class_name, JVM_SIGNATURE_SPECIAL) != nullptr) ||
298 (strchr(class_name, JVM_SIGNATURE_ENDSPECIAL) != nullptr)) {
299 error_msg = "Chars '<' and '>' not allowed in class name";
300 return;
301 }
302
303 if ((strchr(method_name, JVM_SIGNATURE_SPECIAL) != nullptr) ||
304 (strchr(method_name, JVM_SIGNATURE_ENDSPECIAL) != nullptr)) {
305 if (!vmSymbols::object_initializer_name()->equals(method_name) &&
306 !vmSymbols::class_initializer_name()->equals(method_name)) {
307 error_msg = "Chars '<' and '>' only allowed in <init> and <clinit>";
308 return;
309 }
310 }
311
312 if (c_match == MethodMatcher::Unknown || m_match == MethodMatcher::Unknown) {
313 assert(error_msg != nullptr, "Must have been set by check_mode()");
314 return;
315 }
316
317 EXCEPTION_MARK;
318 Symbol* signature = nullptr;
319 line += bytes_read;
320 bytes_read = 0;
321
322 skip_leading_spaces(line, &total_bytes_read);
323
324 // there might be a signature following the method.
325 // signatures always begin with ( so match that by hand
326 if (line[0] == '(') {
327 line++;
|
287 // it doesn't show up again.
288 if ((OptionType::Unknown != CompilerOracle::parse_option_type(method_name) ||
289 CompileCommandEnum::Unknown != CompilerOracle::parse_option_name(method_name)) &&
290 *(line + bytes_read) != '\0' &&
291 strstr(line + bytes_read, method_name) == nullptr) {
292 error_msg = "Did not specify any method name";
293 method_name[0] = '\0';
294 return;
295 }
296
297 if ((strchr(class_name, JVM_SIGNATURE_SPECIAL) != nullptr) ||
298 (strchr(class_name, JVM_SIGNATURE_ENDSPECIAL) != nullptr)) {
299 error_msg = "Chars '<' and '>' not allowed in class name";
300 return;
301 }
302
303 if ((strchr(method_name, JVM_SIGNATURE_SPECIAL) != nullptr) ||
304 (strchr(method_name, JVM_SIGNATURE_ENDSPECIAL) != nullptr)) {
305 if (!vmSymbols::object_initializer_name()->equals(method_name) &&
306 !vmSymbols::class_initializer_name()->equals(method_name)) {
307 error_msg = "Chars '<' and '>' only allowed in <init>, <clinit>";
308 return;
309 }
310 }
311
312 if (c_match == MethodMatcher::Unknown || m_match == MethodMatcher::Unknown) {
313 assert(error_msg != nullptr, "Must have been set by check_mode()");
314 return;
315 }
316
317 EXCEPTION_MARK;
318 Symbol* signature = nullptr;
319 line += bytes_read;
320 bytes_read = 0;
321
322 skip_leading_spaces(line, &total_bytes_read);
323
324 // there might be a signature following the method.
325 // signatures always begin with ( so match that by hand
326 if (line[0] == '(') {
327 line++;
|