1418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager// Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file 2418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager// for details. All rights reserved. Use of this source code is governed by a 3418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager// BSD-style license that can be found in the LICENSE file. 4418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 5418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerpackage com.android.tools.r8.code; 6418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 7418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerimport com.android.tools.r8.ir.conversion.IRBuilder; 8418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 9418d1ca139ea11316113beafbb3b3dd3fd5587aMads Agerpublic abstract class SwitchPayload extends Nop { 10418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager SwitchPayload(int high, BytecodeStream stream) { 11418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager super(high, stream); 12418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 13418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 14418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public SwitchPayload() { 15418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 16418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 17418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public abstract int[] keys(); 18418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public abstract int numberOfKeys(); 19418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public abstract int[] switchTargetOffsets(); 20418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 21418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager @Override 22418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public boolean isSwitchPayload() { 23418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager return true; 24418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 25418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager 26418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager @Override 27418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager public void buildIR(IRBuilder builder) { 28418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager // Switch payloads are not represented in the IR. 29418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager } 30418d1ca139ea11316113beafbb3b3dd3fd5587aMads Ager} 31