CodeInput.java revision 3c5df37a2df7368eb274eb097e9cfa2ccc7fffb6
13c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein/*
23c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Copyright (C) 2011 The Android Open Source Project
33c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *
43c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Licensed under the Apache License, Version 2.0 (the "License");
53c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * you may not use this file except in compliance with the License.
63c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * You may obtain a copy of the License at
73c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *
83c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *      http://www.apache.org/licenses/LICENSE-2.0
93c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein *
103c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Unless required by applicable law or agreed to in writing, software
113c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * distributed under the License is distributed on an "AS IS" BASIS,
123c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * See the License for the specific language governing permissions and
143c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * limitations under the License.
153c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */
163c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
173c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornsteinpackage com.android.dx.io;
183c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
193c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein/**
203c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Input stream of code units, for reading in Dalvik bytecode.
213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */
223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornsteinpublic interface CodeInput {
233c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * Read a code unit.
253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
263c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public int read();
273c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
283c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * Read two code units, treating them as a little-endian {@code int}.
303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
313c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public int readInt();
323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein
333c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    /**
343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     * Read four code units, treating them as a little-endian {@code long}.
353c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein     */
363c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein    public long readLong();
373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein}
38