Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Apache BCEL 6.5.0 Source Code Files
Apache BCEL Source Code Files are inside the Apache BCEL source package file like bcel-6.5.0-src.zip. Unzip the source package file and go to the "src/main" sub-directory, you will see source code files.
Here is the list of Java source code files of the Apache BCEL 6.5.0 in \Users\fyicenter\bcel-6.5.0\src:
✍: FYIcenter.com
⏎ org/apache/bcel/classfile/Constant.java
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package org.apache.bcel.classfile; import java.io.DataInput; import java.io.DataOutputStream; import java.io.IOException; import java.util.Objects; import org.apache.bcel.Const; import org.apache.bcel.util.BCELComparator; /** * Abstract superclass for classes to represent the different constant types * in the constant pool of a class file. The classes keep closely to * the JVM specification. */ public abstract class Constant implements Cloneable, Node { private static BCELComparator bcelComparator = new BCELComparator() { @Override public boolean equals( final Object o1, final Object o2 ) { final Constant THIS = (Constant) o1; final Constant THAT = (Constant) o2; return Objects.equals(THIS.toString(), THAT.toString()); } @Override public int hashCode( final Object o ) { final Constant THIS = (Constant) o; return THIS.toString().hashCode(); } }; /* In fact this tag is redundant since we can distinguish different * `Constant' objects by their type, i.e., via `instanceof'. In some * places we will use the tag for switch()es anyway. * * First, we want match the specification as closely as possible. Second we * need the tag as an index to select the corresponding class name from the * `CONSTANT_NAMES' array. */ /** * @deprecated (since 6.0) will be made private; do not access directly, use getter/setter */ @java.lang.Deprecated protected byte tag; // TODO should be private & final Constant(final byte tag) { this.tag = tag; } /** * Called by objects that are traversing the nodes of the tree implicitely * defined by the contents of a Java class. I.e., the hierarchy of methods, * fields, attributes, etc. spawns a tree of objects. * * @param v Visitor object */ @Override public abstract void accept( Visitor v ); public abstract void dump( DataOutputStream file ) throws IOException; /** * @return Tag of constant, i.e., its type. No setTag() method to avoid * confusion. */ public final byte getTag() { return tag; } /** * @return String representation. */ @Override public String toString() { return Const.getConstantName(tag) + "[" + tag + "]"; } /** * @return deep copy of this constant */ public Constant copy() { try { return (Constant) super.clone(); } catch (final CloneNotSupportedException e) { // TODO should this throw? } return null; } @Override public Object clone() { try { return super.clone(); } catch (final CloneNotSupportedException e) { throw new Error("Clone Not Supported"); // never happens } } /** * Reads one constant from the given input, the type depends on a tag byte. * * @param dataInput Input stream * @return Constant object * @throws IOException if an I/O error occurs reading from the given {@code dataInput}. * @throws ClassFormatException if the next byte is not recognized * @since 6.0 made public */ public static Constant readConstant(final DataInput dataInput) throws IOException, ClassFormatException { final byte b = dataInput.readByte(); // Read tag byte switch (b) { case Const.CONSTANT_Class: return new ConstantClass(dataInput); case Const.CONSTANT_Fieldref: return new ConstantFieldref(dataInput); case Const.CONSTANT_Methodref: return new ConstantMethodref(dataInput); case Const.CONSTANT_InterfaceMethodref: return new ConstantInterfaceMethodref(dataInput); case Const.CONSTANT_String: return new ConstantString(dataInput); case Const.CONSTANT_Integer: return new ConstantInteger(dataInput); case Const.CONSTANT_Float: return new ConstantFloat(dataInput); case Const.CONSTANT_Long: return new ConstantLong(dataInput); case Const.CONSTANT_Double: return new ConstantDouble(dataInput); case Const.CONSTANT_NameAndType: return new ConstantNameAndType(dataInput); case Const.CONSTANT_Utf8: return ConstantUtf8.getInstance(dataInput); case Const.CONSTANT_MethodHandle: return new ConstantMethodHandle(dataInput); case Const.CONSTANT_MethodType: return new ConstantMethodType(dataInput); case Const.CONSTANT_Dynamic: return new ConstantDynamic(dataInput); case Const.CONSTANT_InvokeDynamic: return new ConstantInvokeDynamic(dataInput); case Const.CONSTANT_Module: return new ConstantModule(dataInput); case Const.CONSTANT_Package: return new ConstantPackage(dataInput); default: throw new ClassFormatException("Invalid byte tag in constant pool: " + b); } } /** * @return Comparison strategy object */ public static BCELComparator getComparator() { return bcelComparator; } /** * @param comparator Comparison strategy object */ public static void setComparator( final BCELComparator comparator ) { bcelComparator = comparator; } /** * Returns value as defined by given BCELComparator strategy. * By default two Constant objects are said to be equal when * the result of toString() is equal. * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals( final Object obj ) { return bcelComparator.equals(this, obj); } /** * Returns value as defined by given BCELComparator strategy. * By default return the hashcode of the result of toString(). * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return bcelComparator.hashCode(this); } }
⏎ org/apache/bcel/classfile/Constant.java
Or download all of them as a single archive file:
File name: bcel-6.5.0-fyi.zip File size: 706792 bytes Release date: 2020-07-03 Download
⇐ Install Apache BCEL 6.5.0 Binary Package
2023-04-03, 28874👍, 5💬
Popular Posts:
What Is mail.jar of JavaMail 1.3? I got the JAR file from javamail-1_3.zip. mail.jar in javamail-1_3...
Apache Axis2 is the core engine for Web services. It is a complete re-design and re-write of the wid...
What Is wstx-asl-3.2.8.jar? wstx-asl-3.2.8.jar is JAR file for the ASL component of Woodstox 3.2.8. ...
Apache Log4j SLF4J Binding allows applications coded to the SLF4J API to use Log4j 2 as the implemen...
What Is commons-io-2.11.jar? commons-io-2.11.jar is the JAR file for Commons IO 2.5, which is a libr...