CodeInput.java revision 19cefdcde26ea31d06cef031032b2ef78013d976
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 1919cefdcde26ea31d06cef031032b2ef78013d976Dan Bornsteinimport java.io.EOFException; 2019cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein 213c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein/** 223c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein * Input stream of code units, for reading in Dalvik bytecode. 233c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */ 243c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornsteinpublic interface CodeInput { 253c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein /** 2619cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein * Reads a code unit. 273c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */ 2819cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein public int read() throws EOFException; 293c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein 303c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein /** 3119cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein * Reads two code units, treating them as a little-endian {@code int}. 323c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */ 3319cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein public int readInt() throws EOFException; 343c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein 353c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein /** 3619cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein * Reads four code units, treating them as a little-endian {@code long}. 373c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein */ 3819cefdcde26ea31d06cef031032b2ef78013d976Dan Bornstein public long readLong() throws EOFException; 393c5df37a2df7368eb274eb097e9cfa2ccc7fffb6Dan Bornstein} 40