commit | 597de202de56d380e4eea14c66355594c05a80ad | [log] [tgz] |
---|---|---|
author | Christoffer Quist Adamsen <christofferqa@google.com> | Thu Dec 06 13:27:07 2018 +0100 |
committer | Christoffer Quist Adamsen <christofferqa@google.com> | Thu Dec 06 13:27:07 2018 +0100 |
tree | c5579c55c29aec257964e767a82fb457b72787ee | |
parent | 45fb786d5488a3f6eacd2715438742bcc54e7d8d [diff] |
Update class inliner to check for effectively-final instead of final Change-Id: I7432ff12084654a4197c94abed7f7c5f38db0c60
diff --git a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java index ade48f3..7754a14 100644 --- a/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java +++ b/src/main/java/com/android/tools/r8/ir/optimize/classinliner/InlineCandidateProcessor.java
@@ -197,8 +197,11 @@ // of class inlining // - if (eligibleClassDefinition.instanceFields().length > 0 || - !eligibleClassDefinition.accessFlags.isFinal()) { + if (eligibleClassDefinition.instanceFields().length > 0) { + return false; + } + if (eligibleClassDefinition.type.hasSubtypes()) { + assert !eligibleClassDefinition.accessFlags.isFinal(); return false; }