/src/main/scala/de/tud/cs/st/bat/canonical/ReferenceKind.scala
Scala | 63 lines | 13 code | 12 blank | 38 comment | 0 complexity | 1c1e0e77c41e48c05826d43cf68cb372 MD5 | raw file
Possible License(s): Apache-2.0
1/* License (BSD Style License): 2* Copyright (c) 2009, 2011 3* Software Technology Group 4* Department of Computer Science 5* Technische Universit?t Darmstadt 6* All rights reserved. 7* 8* Redistribution and use in source and binary forms, with or without 9* modification, are permitted provided that the following conditions are met: 10* 11* - Redistributions of source code must retain the above copyright notice, 12* this list of conditions and the following disclaimer. 13* - Redistributions in binary form must reproduce the above copyright notice, 14* this list of conditions and the following disclaimer in the documentation 15* and/or other materials provided with the distribution. 16* - Neither the name of the Software Technology Group or Technische 17* Universit?t Darmstadt nor the names of its contributors may be used to 18* endorse or promote products derived from this software without specific 19* prior written permission. 20* 21* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 25* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31* POSSIBILITY OF SUCH DAMAGE. 32*/ 33package de.tud.cs.st.bat.canonical 34 35/** 36 * Represents the different "reference_kind" values as used by the 37 * CONSTANT_MethodHandle_info structure. 38 * 39 * @author Michael Eichberg 40 */ 41object ReferenceKind extends Enumeration { 42 43 type ReferenceKind = Value // this enables us to use the type "ReferenceKind" in our code! 44 45 val REF_getField = Value(1, "REF_getField") 46 47 val REF_getStatic = Value(2, "REF_getStatic") 48 49 val REF_putField = Value(3, "REF_putField") 50 51 val REF_putStatic = Value(4, "REF_putStatic") 52 53 val REF_invokeVirtual = Value(5, "REF_invokeVirtual") 54 55 val REF_invokeStatic = Value(6, "REF_invokeStatic") 56 57 val REF_invokeSpecial = Value(7, "REF_invokeSpecial") 58 59 val REF_newInvokeSpecial = Value(8, "REF_newInvokeSpecial") 60 61 val REF_invokeInterface = Value(9, "REF_invokeInterface") 62 63}