Remove unnecessary casts

This commit is contained in:
Sam Harwell 2012-11-27 08:11:14 -06:00
parent 8e9619a731
commit 1bc15c5926
2 changed files with 8 additions and 10 deletions

View File

@ -77,14 +77,13 @@ public abstract class Choice extends RuleElement {
return altLook;
}
public SrcOp addCodeForLookaheadTempVar(IntervalSet look) {
public TestSetInline addCodeForLookaheadTempVar(IntervalSet look) {
List<SrcOp> testOps = factory.getLL1Test(look, ast);
SrcOp expr = (SrcOp) Utils.find(testOps, TestSetInline.class);
if ( expr instanceof TestSetInline) {
TestSetInline e = (TestSetInline)expr;
Decl d = new TokenTypeDecl(factory, e.varName);
TestSetInline expr = Utils.find(testOps, TestSetInline.class);
if (expr != null) {
Decl d = new TokenTypeDecl(factory, expr.varName);
factory.getCurrentRuleFunction().addLocalDecl(d);
CaptureNextTokenType nextType = new CaptureNextTokenType(factory,e.varName);
CaptureNextTokenType nextType = new CaptureNextTokenType(factory,expr.varName);
addPreambleOp(nextType);
}
return expr;

View File

@ -59,10 +59,9 @@ public abstract class LL1Loop extends Choice {
}
public SrcOp addCodeForLoopLookaheadTempVar(IntervalSet look) {
SrcOp expr = addCodeForLookaheadTempVar(look);
if ( expr instanceof TestSetInline ) {
TestSetInline e = (TestSetInline)expr;
CaptureNextTokenType nextType = new CaptureNextTokenType(factory, e.varName);
TestSetInline expr = addCodeForLookaheadTempVar(look);
if (expr != null) {
CaptureNextTokenType nextType = new CaptureNextTokenType(factory, expr.varName);
addIterationOp(nextType);
}
return expr;