DexOptions.java revision 579d7739c53a2707ad711a2d2cae46d7d782f061
14b6829f0d28990dd645e16386eb226d0f10c8731shiqian/*
24b6829f0d28990dd645e16386eb226d0f10c8731shiqian * Copyright (C) 2011 The Android Open Source Project
34b6829f0d28990dd645e16386eb226d0f10c8731shiqian *
44b6829f0d28990dd645e16386eb226d0f10c8731shiqian * Licensed under the Apache License, Version 2.0 (the "License");
54b6829f0d28990dd645e16386eb226d0f10c8731shiqian * you may not use this file except in compliance with the License.
64b6829f0d28990dd645e16386eb226d0f10c8731shiqian * You may obtain a copy of the License at
74b6829f0d28990dd645e16386eb226d0f10c8731shiqian *
84b6829f0d28990dd645e16386eb226d0f10c8731shiqian *      http://www.apache.org/licenses/LICENSE-2.0
94b6829f0d28990dd645e16386eb226d0f10c8731shiqian *
104b6829f0d28990dd645e16386eb226d0f10c8731shiqian * Unless required by applicable law or agreed to in writing, software
114b6829f0d28990dd645e16386eb226d0f10c8731shiqian * distributed under the License is distributed on an "AS IS" BASIS,
124b6829f0d28990dd645e16386eb226d0f10c8731shiqian * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
134b6829f0d28990dd645e16386eb226d0f10c8731shiqian * See the License for the specific language governing permissions and
144b6829f0d28990dd645e16386eb226d0f10c8731shiqian * limitations under the License.
154b6829f0d28990dd645e16386eb226d0f10c8731shiqian */
164b6829f0d28990dd645e16386eb226d0f10c8731shiqian
174b6829f0d28990dd645e16386eb226d0f10c8731shiqianpackage com.android.dx.dex;
184b6829f0d28990dd645e16386eb226d0f10c8731shiqian
194b6829f0d28990dd645e16386eb226d0f10c8731shiqian/**
204b6829f0d28990dd645e16386eb226d0f10c8731shiqian * Container for options used to control details of dex file generation.
214b6829f0d28990dd645e16386eb226d0f10c8731shiqian */
224b6829f0d28990dd645e16386eb226d0f10c8731shiqianpublic class DexOptions {
234b6829f0d28990dd645e16386eb226d0f10c8731shiqian    /** target API level */
244b6829f0d28990dd645e16386eb226d0f10c8731shiqian    public int targetApiLevel = DexFormat.API_NO_EXTENDED_OPCODES;
254b6829f0d28990dd645e16386eb226d0f10c8731shiqian
264b6829f0d28990dd645e16386eb226d0f10c8731shiqian    /**
274b6829f0d28990dd645e16386eb226d0f10c8731shiqian     * Gets the dex file magic number corresponding to this instance.
284b6829f0d28990dd645e16386eb226d0f10c8731shiqian     */
294b6829f0d28990dd645e16386eb226d0f10c8731shiqian    public String getMagic() {
304b6829f0d28990dd645e16386eb226d0f10c8731shiqian        return DexFormat.apiToMagic(targetApiLevel);
314b6829f0d28990dd645e16386eb226d0f10c8731shiqian    }
324b6829f0d28990dd645e16386eb226d0f10c8731shiqian
334b6829f0d28990dd645e16386eb226d0f10c8731shiqian    /**
344b6829f0d28990dd645e16386eb226d0f10c8731shiqian     * Returns whether extended opcodes are allowed. This became
354b6829f0d28990dd645e16386eb226d0f10c8731shiqian     * allowed as of Ice Cream Sandwich.
364b6829f0d28990dd645e16386eb226d0f10c8731shiqian     */
374b6829f0d28990dd645e16386eb226d0f10c8731shiqian    public boolean canUseExtendedOpcodes() {
384b6829f0d28990dd645e16386eb226d0f10c8731shiqian        return targetApiLevel >= DexFormat.API_CURRENT;
394b6829f0d28990dd645e16386eb226d0f10c8731shiqian    }
404b6829f0d28990dd645e16386eb226d0f10c8731shiqian}
414b6829f0d28990dd645e16386eb226d0f10c8731shiqian