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:
JDK 17 java.xml.jmod - XML Module
JDK 17 java.xml.jmod is the JMOD file for JDK 17 XML (eXtensible Markup Language) module.
JDK 17 XML module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.xml.jmod.
JDK 17 XML module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 XML module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.xml.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java
/* * Copyright (c) 2007, 2022, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ /* * 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 com.sun.org.apache.bcel.internal.generic; import com.sun.org.apache.bcel.internal.Const; import com.sun.org.apache.bcel.internal.classfile.LocalVariable; /** * Represents a local variable within a method. It contains its * scope, name and type. The generated LocalVariable object can be obtained * with getLocalVariable which needs the instruction list and the constant * pool as parameters. * * @see LocalVariable * @see MethodGen */ public class LocalVariableGen implements InstructionTargeter, NamedAndTyped, Cloneable { private int index; private String name; private Type type; private InstructionHandle start; private InstructionHandle end; private int origIndex; // never changes; used to match up with LocalVariableTypeTable entries private boolean liveToEnd; /** * Generate a local variable that with index `index'. Note that double and long * variables need two indexs. Index indices have to be provided by the user. * * @param index index of local variable * @param name its name * @param type its type * @param start from where the instruction is valid (null means from the start) * @param end until where the instruction is valid (null means to the end) */ public LocalVariableGen(final int index, final String name, final Type type, final InstructionHandle start, final InstructionHandle end) { if ((index < 0) || (index > Const.MAX_SHORT)) { throw new ClassGenException("Invalid index index: " + index); } this.name = name; this.type = type; this.index = index; setStart(start); setEnd(end); this.origIndex = index; this.liveToEnd = end == null; } /** * Generates a local variable that with index `index'. Note that double and long * variables need two indexs. Index indices have to be provided by the user. * * @param index index of local variable * @param name its name * @param type its type * @param start from where the instruction is valid (null means from the start) * @param end until where the instruction is valid (null means to the end) * @param origIndex index of local variable prior to any changes to index */ public LocalVariableGen(final int index, final String name, final Type type, final InstructionHandle start, final InstructionHandle end, final int origIndex) { this(index, name, type, start, end); this.origIndex = origIndex; } /** * Gets LocalVariable object. * * This relies on that the instruction list has already been dumped to byte code or * or that the `setPositions' methods has been called for the instruction list. * * Note that due to the conversion from byte code offset to InstructionHandle, * it is impossible to tell the difference between a live range that ends BEFORE * the last insturction of the method or a live range that ends AFTER the last * instruction of the method. Hence the liveToEnd flag to differentiate * between these two cases. * * @param cp constant pool */ public LocalVariable getLocalVariable( final ConstantPoolGen cp ) { int start_pc = 0; int length = 0; if ((start != null) && (end != null)) { start_pc = start.getPosition(); length = end.getPosition() - start_pc; if ((end.getNext() == null) && liveToEnd) { length += end.getInstruction().getLength(); } } final int name_index = cp.addUtf8(name); final int signature_index = cp.addUtf8(type.getSignature()); return new LocalVariable(start_pc, length, name_index, signature_index, index, cp .getConstantPool(), origIndex); } public void setIndex( final int index ) { this.index = index; } public int getIndex() { return index; } public int getOrigIndex() { return origIndex; } public void setLiveToEnd( final boolean live_to_end) { this.liveToEnd = live_to_end; } public boolean getLiveToEnd() { return liveToEnd; } @Override public void setName( final String name ) { this.name = name; } @Override public String getName() { return name; } @Override public void setType( final Type type ) { this.type = type; } @Override public Type getType() { return type; } public InstructionHandle getStart() { return start; } public InstructionHandle getEnd() { return end; } public void setStart( final InstructionHandle start ) { // TODO could be package-protected? BranchInstruction.notifyTarget(this.start, start, this); this.start = start; } public void setEnd( final InstructionHandle end ) { // TODO could be package-protected? BranchInstruction.notifyTarget(this.end, end, this); this.end = end; } /** * @param old_ih old target, either start or end * @param new_ih new target */ @Override public void updateTarget( final InstructionHandle old_ih, final InstructionHandle new_ih ) { boolean targeted = false; if (start == old_ih) { targeted = true; setStart(new_ih); } if (end == old_ih) { targeted = true; setEnd(new_ih); } if (!targeted) { throw new ClassGenException("Not targeting " + old_ih + ", but {" + start + ", " + end + "}"); } } /** * Clear the references from and to this variable when it's removed. */ void dispose() { setStart(null); setEnd(null); } /** * @return true, if ih is target of this variable */ @Override public boolean containsTarget( final InstructionHandle ih ) { return (start == ih) || (end == ih); } @Override public int hashCode() { // If the user changes the name or type, problems with the targeter hashmap will occur. // Note: index cannot be part of hash as it may be changed by the user. return name.hashCode() ^ type.hashCode(); } /** * We consider to local variables to be equal, if the use the same index and * are valid in the same range. */ @Override public boolean equals( final Object o ) { if (!(o instanceof LocalVariableGen)) { return false; } final LocalVariableGen l = (LocalVariableGen) o; return (l.index == index) && (l.start == start) && (l.end == end); } @Override public String toString() { return "LocalVariableGen(" + name + ", " + type + ", " + start + ", " + end + ")"; } @Override public Object clone() { try { return super.clone(); } catch (final CloneNotSupportedException e) { throw new Error("Clone Not Supported"); // never happens } } }
⏎ com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java
Or download all of them as a single archive file:
File name: java.xml-17.0.5-src.zip File size: 5047495 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.xml.crypto.jmod - XML Crypto Module
2023-07-17, 53378👍, 1💬
Popular Posts:
Where to find answers to frequently asked questions on Downloading and Installing ojdbc.jar - JDBC D...
How to display types defined in an XML Schema file with the xs\QueryXS.java provided in the Apache X...
What JAR files are required to run dom\Writer.java provided in the Apache Xerces package? 3 JAR file...
JDK 11 java.sql.jmod is the JMOD file for JDK 11 SQL (Structured Query Language) module. JDK 11 SQL ...
What Is HttpComponents commons-httpclient-3.1.j ar?HttpComponents commons-httpclient-3.1.j aris the ...