DeadCodeElimination.DeadCodeVisitor

Source file "com/google/gwt/dev/jjs/impl/DeadCodeElimination.java" was not found during generation of report.

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total3,787 of 3,7870%694 of 6940%4624628948949696
evalOpOnLiterals(JBinaryOperator, JValueLiteral, JValueLiteral, Context)5240%1090%686813213211
endVisit(JBinaryOperation, Context)2320%320%2222484811
tryOptimizeStringCall(JMethodCall, Context, JMethod)1480%280%1515323211
tryReduceSwitchWithConstantInput(JSwitchStatement, Context)1450%320%1717454511
evalOpOnLiteral(JUnaryOperator, JValueLiteral, Context)1200%160%1010242411
endVisit(JMultiExpression, Context)1180%180%1010313111
endVisit(JBlock, Context)1130%220%1212303011
endVisit(JPrefixOperation, Context)980%120%77191911
tryRemoveSwitch(JSwitchStatement, Context)970%80%55232311
tryTranslateLiteral(JExpression, Class)940%320%1717191911
evalEq(JValueLiteral, JValueLiteral)900%240%1313121211
endVisit(JTryStatement, Context)880%200%1111252511
endVisit(JMethodCall, Context)840%200%1111181811
endVisit(JFieldRef, Context)800%160%99191911
endVisit(JPostfixOperation, Context)780%60%44141411
simplifyMul(JExpression, JExpression, Context, JType)780%160%99191911
removeEmptyCases(JSwitchStatement)710%100%66181811
endVisit(JInstanceOf, Context)660%70%55161611
endVisit(JNewInstance, Context)640%60%44131311
removeDoubleBreaks(JSwitchStatement)580%100%66141411
simplifyEq(JExpression, JExpression, Context, boolean)530%80%559911
staticallyEvaluateEq(JExpression, JExpression)520%240%1313121211
hasNoDefaultCase(JSwitchStatement)420%100%66131311
DeadCodeElimination.DeadCodeVisitor(DeadCodeElimination, OptimizerContext)370%n/a11111111
endVisit(JDoStatement, Context)360%80%55111111
staticallyEvaluateInstanceOf(JReferenceType, JReferenceType)360%80%559911
isLiteralNegativeOne(JExpression)340%100%668811
isLiteralOne(JExpression)340%100%666611
isTypeIntegral(JType)340%100%663311
maybeReplaceWithOrdinalValue(JExpression, Context)340%80%559911
staticallyInvokeStringMethod(String, Object, Class[], Object[])330%40%339911
visit(JMultiExpression, Context)320%40%337711
findUnconditionalBreak(JStatement)320%80%558811
simplifyBooleanEq(JExpression, JExpression, Context, boolean)310%40%339911
tryGetConstant(JVariableRef)310%80%558811
simplifySub(JExpression, JExpression, Context, JType)300%60%447711
endVisit(JForStatement, Context)290%40%338811
endVisit(JSwitchStatement, Context)270%40%338811
evalConcat(SourceInfo, JExpression, JExpression, Context)270%40%336611
canPromoteBlock(JBlock)260%60%447711
simplifyDiv(JExpression, JExpression, Context, JType)260%40%337711
simplifyNegate(JExpression, JExpression)250%60%447711
simplifyAdd(JExpression, JExpression, Context, JType)240%40%337711
simplifyXor(JExpression, JExpression, Context)240%40%337711
createClinitCall(SourceInfo, JDeclaredType)220%40%333311
endVisit(JLocalRef, Context)190%60%445511
endVisit(JParameterRef, Context)190%60%445511
endVisit(JIfStatement, Context)170%20%223311
endVisit(JWhileStatement, Context)170%40%336611
visit(JMethodCall, Context)170%40%334411
simplifyXor(JExpression, JBooleanLiteral, Context)170%20%224411
isLiteralZero(JExpression)160%40%335511
isTypeFloatingPoint(JType)160%40%332211
removeMe(JStatement, Context)160%20%224411
simplifyBooleanEq(JExpression, boolean, Context)160%20%224411
endVisit(JExpressionStatement, Context)150%20%224411
replaceMe(JStatement, Context)150%20%225511
toDouble(JValueLiteral)150%20%224411
toLong(JValueLiteral)150%20%224411
toInt(JValueLiteral)140%20%224411
isUnconditionalUnlabeledBreak(JStatement)130%40%332211
numRemovableExpressions(JMultiExpression)130%20%223311
isNonEmptyMultiExpression(JExpression)120%40%332211
visit(JBinaryOperation, Context)120%20%223311
visit(JPostfixOperation, Context)120%20%223311
visit(JPrefixOperation, Context)120%20%223311
isTypeBoolean(JExpression)110%20%221111
isTypeDouble(JType)100%20%221111
isTypeFloat(JType)100%20%221111
isTypeLong(JType)100%20%221111
endVisit(JDeclarationStatement, Context)90%n/a113311
visit(JDeclarationStatement, Context)80%n/a112211
visit(JExpressionStatement, Context)80%n/a112211
visit(JSwitchStatement, Context)80%n/a112211
visit(JSwitchExpression, Context)80%n/a112211
isUnconditionalBreak(JStatement)80%20%221111
maybeReplaceMe(JStatement, JStatement, Context)80%20%223311
getMethod(String, Class, Class[])80%n/a113311
static {...}80%20%221111
endVisit(JCastOperation, Context)70%n/a112211
endVisit(JConditional, Context)70%n/a112211
endVisit(JSwitchExpression, Context)70%n/a112211
visit(JClassType, Context)70%20%221111
isTypeString(JExpression)70%n/a111111
last(List)70%n/a111111
classObjectForType(JType)70%n/a111111
maybeReplaceMe(JExpression, JExpression, Context)70%20%223311
isTypeDouble(JExpression)50%n/a111111
isTypeFloat(JExpression)50%n/a111111
isTypeFloatingPoint(JExpression)50%n/a111111
isTypeIntegral(JExpression)50%n/a111111
isTypeLong(JExpression)50%n/a111111
isTypeNull(JExpression)50%n/a111111
simplifyNegate(JExpression)50%n/a111111
toBoolean(JValueLiteral)0%n/a111111
isTypeNull(JType)0%n/a111111