return new JThrowStatement(info, toThrow);
}
JStatement processStatement(TryStatement x) {
SourceInfo info = makeSourceInfo(x);
JBlock tryBlock = (JBlock) dispProcessStatement(x.tryBlock);
List<JLocalRef> catchArgs = new ArrayList<JLocalRef>();
List<JBlock> catchBlocks = new ArrayList<JBlock>();
if (x.catchBlocks != null) {
for (int i = 0, c = x.catchArguments.length; i < c; ++i) {
JLocal local = (JLocal) typeMap.get(x.catchArguments[i].binding);
catchArgs.add((JLocalRef) createVariableRef(info, local));
}
for (int i = 0, c = x.catchBlocks.length; i < c; ++i) {
catchBlocks.add((JBlock) dispProcessStatement(x.catchBlocks[i]));
}
}
JBlock finallyBlock = (JBlock) dispProcessStatement(x.finallyBlock);
return new JTryStatement(info, tryBlock, catchArgs, catchBlocks,
finallyBlock);
}