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