| Summary: | RuntimeException from IDL compiler | ||
|---|---|---|---|
| Product: | JacORB | Reporter: | Brian Wallis <brian.wallis> |
| Component: | IDL compiler | Assignee: | Gerald Brose <gerald.brose> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | P2 | ||
| Version: | 2.1 | ||
| Hardware: | All | ||
| OS: | All | ||
Sure, the stack trace is not definitely not intended to surface at all, that's a plain bug. Thanks, Gerald. Is org.jacorb.idl.TypeMap.removeDefinition() supposed to throw a runtime exception when the type definition of a symbol (constant, in this particular case) is not found? |
For the following IDL which I believe is valid (I have two contants declared fred::x and charlie::x): interface fred { const unsigned long x = 0xffffffff; }; interface charlie : fred { const unsigned long x = 0xffffffff; }; I get the following error when compiling with the idl compiler: % idl -noskel -d output -I. test.idl java.lang.RuntimeException: Could not find definition of : charlie.x at org.jacorb.idl.TypeMap.removeDefinition(Unknown Source) at org.jacorb.idl.NameTable.define(Unknown Source) at org.jacorb.idl.ConstDecl.parse(Unknown Source) at org.jacorb.idl.InterfaceBody.internal_parse(Unknown Source) at org.jacorb.idl.InterfaceBody.parse(Unknown Source) at org.jacorb.idl.Interface.parse(Unknown Source) at org.jacorb.idl.Definition.parse(Unknown Source) at org.jacorb.idl.Spec.parse(Unknown Source) at org.jacorb.idl.CUP$actions.CUP$do_action(Unknown Source) at org.jacorb.idl.parser.do_action(Unknown Source) at org.jacorb.idl.runtime.lr_parser.parse(Unknown Source) at org.jacorb.idl.parser.compile(Unknown Source) at org.jacorb.idl.parser.compile(Unknown Source) at org.jacorb.idl.parser.compileAndHandle(Unknown Source) at org.jacorb.idl.parser.main(Unknown Source) [jacorb.idl] ERROR : /work/wallis/TrainingExamples/CXX/ciidl/test.idl, line: 8(1): Exception: java.lang.RuntimeException: Could not find definition of : charlie.x -noskel -d output -I. test.idl : Could not find definition of : charlie.x Usage: idl [-h|-help][-v|-version][-Dsymbol[=value]][-Idir][-U<symbol>][-W debug_level ][-all][-forceOverwrite][-ami_callback][-ami_polling][-backend classname][-d <Output Dir>][-unchecked_narrow][-i2jpackage x:y][-i2jpackagefile <filename>][-cldc10][-ir][-nofinal][-noskel][-nostub][-sloppy_forward][-slop py_names][-permissive_rmic][-syntax] <filelist> Even if the IDL is invalid, the runtime exception is an inappropriate way to report it.