ZeroRegisterDecodedInstruction.java revision 537939ca06a47668f719ee06159303bcd3175c69
110353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali/* 210353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * Copyright (C) 2011 The Android Open Source Project 310353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * 410353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * Licensed under the Apache License, Version 2.0 (the "License"); 510353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * you may not use this file except in compliance with the License. 6e67b0ef921bf74296a1c601b85e2bdcca1e1a86cMichael Ernst * You may obtain a copy of the License at 710353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * 810353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * http://www.apache.org/licenses/LICENSE-2.0 910353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * 1010353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * Unless required by applicable law or agreed to in writing, software 1110353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * distributed under the License is distributed on an "AS IS" BASIS, 1210353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1310353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * See the License for the specific language governing permissions and 1410353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali * limitations under the License. 15f8955bfb5d46ff31634832d5143a95f2faaa14beMichael Ernst */ 165534e50f6966d53ba8c8104a4bf847df0cd53409Michael Ernst 1710353ed766fc48a0af6bd33d934439e695c03e3Mahmood Alipackage com.android.dx.io.instructions; 1857ea23519ad96aca616e5fe41b4a1db896b91096Michael Ernst 1957ea23519ad96aca616e5fe41b4a1db896b91096Michael Ernstimport com.android.dx.io.IndexType; 2010353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali 2110353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali/** 22c15d52e959f2b3052978e40552159de77c403428Michael Ernst * A decoded Dalvik instruction which has no register arguments. 23c15d52e959f2b3052978e40552159de77c403428Michael Ernst */ 24c15d52e959f2b3052978e40552159de77c403428Michael Ernstpublic final class ZeroRegisterDecodedInstruction extends DecodedInstruction { 25c15d52e959f2b3052978e40552159de77c403428Michael Ernst /** 26c15d52e959f2b3052978e40552159de77c403428Michael Ernst * Constructs an instance. 2710353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali */ 2876be24f6310e0f8e8120e223e14bc0b4690408d4Werner Dietl public ZeroRegisterDecodedInstruction(InstructionCodec format, int opcode, 2910353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali int index, IndexType indexType, int target, long literal) { 3010353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali super(format, opcode, index, indexType, target, literal); 3110353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali } 3210353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali 3310353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali /** @inheritDoc */ 3410353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali public int getRegisterCount() { 3510353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali return 0; 3610353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali } 3710353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali 3810353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali /** @inheritDoc */ 3910353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali public DecodedInstruction withIndex(int newIndex) { 4010353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali return new ZeroRegisterDecodedInstruction( 4110353ed766fc48a0af6bd33d934439e695c03e3Mahmood Ali getFormat(), getOpcode(), newIndex, getIndexType(), 42fd37e8455f846ac7d34c53ebe1079797599ebd4fMichael Ernst getTarget(), getLiteral()); 43fd37e8455f846ac7d34c53ebe1079797599ebd4fMichael Ernst } 44fd37e8455f846ac7d34c53ebe1079797599ebd4fMichael Ernst} 45fd37e8455f846ac7d34c53ebe1079797599ebd4fMichael Ernst