Mercurial > hg > openjdk > jigsaw > jaxp
changeset 424:e730324e3e98
Merge
author | mchung |
---|---|
date | Fri, 08 Feb 2013 23:20:05 -0800 |
parents | b5ad012bfc21 (current diff) 8d65b381880b (diff) |
children | 202f158b31f0 |
files | .hgtags |
diffstat | 18 files changed, 228 insertions(+), 29 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Fri Dec 14 16:11:34 2012 -0800 +++ b/.hgtags Fri Feb 08 23:20:05 2013 -0800 @@ -195,3 +195,11 @@ 5cf3c69a93d6d088a1cdfa28031d4f0f9438c0de jdk8-b65 e6af1ad464e3d9b1154b9f9ed9a5373b97d129fc jdk8-b66 83df3493ca3cf0be077f1d0dd90119456f266f54 jdk8-b67 +b854e70084214e9dcf1b37373f6e4b1a68760e03 jdk8-b68 +789a855de959f7e9600e57759c6c3dbb0b24d78b jdk8-b69 +6ec9edffc286c9c9ac96c9cd2050b01cb5d514a8 jdk8-b70 +499be952a291cec1dc774a84a238941d6faf772d jdk8-b71 +bdf2af722a6b54fca47d8c51d17a1b8f41dd7a3e jdk8-b72 +84946404d1e1de003ed2bf218ef8d48906a90e37 jdk8-b73 +2087e24a4357eceb6432e94918e75fdc706a27d6 jdk8-b74 +ff0b73a6b3f6cea644d37d56d746a37743419fa7 jdk8-b75
--- a/makefiles/BuildJaxp.gmk Fri Dec 14 16:11:34 2012 -0800 +++ b/makefiles/BuildJaxp.gmk Fri Feb 08 23:20:05 2013 -0800 @@ -1,5 +1,5 @@ # -# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. # # This code is free software; you can redistribute it and/or modify it @@ -47,11 +47,23 @@ $(eval $(call SetupJavaCompilation,BUILD_JAXP,\ SETUP:=GENERATE_NEWBYTECODE_DEBUG,\ SRC:=$(JAXP_TOPDIR)/src,\ - CLEAN:=.properties,\ BIN:=$(JAXP_OUTPUTDIR)/classes,\ SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip)) -$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP),\ +# Imitate the property cleaning mechanism in the old build. This will likely be replaced +# by the unified functionality in JavaCompilation.gmk, but keep it the same as old build +# for now, even though it actually breaks properties containing # in the value. +# Using nawk to avoid solaris sed. +$(JAXP_OUTPUTDIR)/classes/%.properties: $(JAXP_TOPDIR)/src/%.properties + $(MKDIR) -p $(@D) + $(RM) $@ $@.tmp + $(CAT) $< | LANG=C $(NAWK) '{ sub(/#.*$$/,"#"); print }' > $@.tmp + $(MV) $@.tmp $@ + +SRC_PROP_FILES := $(shell $(FIND) $(JAXP_TOPDIR)/src -name "*.properties") +TARGET_PROP_FILES := $(patsubst $(JAXP_TOPDIR)/src/%,$(JAXP_OUTPUTDIR)/classes/%,$(SRC_PROP_FILES)) + +$(eval $(call SetupArchive,ARCHIVE_JAXP,$(BUILD_JAXP) $(TARGET_PROP_FILES),\ SRCS:=$(JAXP_OUTPUTDIR)/classes,\ SUFFIXES:=.class .properties,\ JAR:=$(JAXP_OUTPUTDIR)/dist/lib/classes.jar))
--- a/src/com/sun/org/apache/bcel/internal/Constants.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/bcel/internal/Constants.java Fri Feb 08 23:20:05 2013 -0800 @@ -746,27 +746,29 @@ /** Attributes and their corresponding names. */ - public static final byte ATTR_UNKNOWN = -1; - public static final byte ATTR_SOURCE_FILE = 0; - public static final byte ATTR_CONSTANT_VALUE = 1; - public static final byte ATTR_CODE = 2; - public static final byte ATTR_EXCEPTIONS = 3; - public static final byte ATTR_LINE_NUMBER_TABLE = 4; - public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5; - public static final byte ATTR_INNER_CLASSES = 6; - public static final byte ATTR_SYNTHETIC = 7; - public static final byte ATTR_DEPRECATED = 8; - public static final byte ATTR_PMG = 9; - public static final byte ATTR_SIGNATURE = 10; - public static final byte ATTR_STACK_MAP = 11; + public static final byte ATTR_UNKNOWN = -1; + public static final byte ATTR_SOURCE_FILE = 0; + public static final byte ATTR_CONSTANT_VALUE = 1; + public static final byte ATTR_CODE = 2; + public static final byte ATTR_EXCEPTIONS = 3; + public static final byte ATTR_LINE_NUMBER_TABLE = 4; + public static final byte ATTR_LOCAL_VARIABLE_TABLE = 5; + public static final byte ATTR_INNER_CLASSES = 6; + public static final byte ATTR_SYNTHETIC = 7; + public static final byte ATTR_DEPRECATED = 8; + public static final byte ATTR_PMG = 9; + public static final byte ATTR_SIGNATURE = 10; + public static final byte ATTR_STACK_MAP = 11; + public static final byte ATTR_LOCAL_VARIABLE_TYPE_TABLE = 12; - public static final short KNOWN_ATTRIBUTES = 12; + public static final short KNOWN_ATTRIBUTES = 13; public static final String[] ATTRIBUTE_NAMES = { "SourceFile", "ConstantValue", "Code", "Exceptions", "LineNumberTable", "LocalVariableTable", "InnerClasses", "Synthetic", "Deprecated", - "PMGClass", "Signature", "StackMap" + "PMGClass", "Signature", "StackMap", + "LocalVariableTypeTable" }; /** Constants used in the StackMap attribute.
--- a/src/com/sun/org/apache/bcel/internal/classfile/Attribute.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/bcel/internal/classfile/Attribute.java Fri Feb 08 23:20:05 2013 -0800 @@ -206,6 +206,9 @@ case Constants.ATTR_LOCAL_VARIABLE_TABLE: return new LocalVariableTable(name_index, length, file, constant_pool); + case Constants.ATTR_LOCAL_VARIABLE_TYPE_TABLE: + return new LocalVariableTypeTable(name_index, length, file, constant_pool); + case Constants.ATTR_INNER_CLASSES: return new InnerClasses(name_index, length, file, constant_pool);
--- a/src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java Fri Feb 08 23:20:05 2013 -0800 @@ -210,6 +210,12 @@ stack.pop(); } + public void visitLocalVariableTypeTable(LocalVariableTypeTable obj) { + stack.push(obj); + obj.accept(visitor); + stack.pop(); + } + public void visitStackMap(StackMap table) { stack.push(table); table.accept(visitor);
--- a/src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java Fri Feb 08 23:20:05 2013 -0800 @@ -98,6 +98,7 @@ public void visitLineNumberTable(LineNumberTable obj) {} public void visitLocalVariable(LocalVariable obj) {} public void visitLocalVariableTable(LocalVariableTable obj) {} + public void visitLocalVariableTypeTable(LocalVariableTypeTable obj) {} public void visitMethod(Method obj) {} public void visitSignature(Signature obj) {} public void visitSourceFile(SourceFile obj) {}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/sun/org/apache/bcel/internal/classfile/LocalVariableTypeTable.java Fri Feb 08 23:20:05 2013 -0800 @@ -0,0 +1,146 @@ +/* + * reserved comment block + * DO NOT REMOVE OR ALTER! + */ +package com.sun.org.apache.bcel.internal.classfile; +/** + * 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. + */ + +import com.sun.org.apache.bcel.internal.Constants; +import java.io.*; + +// The new table is used when generic types are about... + +//LocalVariableTable_attribute { +// u2 attribute_name_index; +// u4 attribute_length; +// u2 local_variable_table_length; +// { u2 start_pc; +// u2 length; +// u2 name_index; +// u2 descriptor_index; +// u2 index; +// } local_variable_table[local_variable_table_length]; +// } + +//LocalVariableTypeTable_attribute { +// u2 attribute_name_index; +// u4 attribute_length; +// u2 local_variable_type_table_length; +// { +// u2 start_pc; +// u2 length; +// u2 name_index; +// u2 signature_index; +// u2 index; +// } local_variable_type_table[local_variable_type_table_length]; +// } +// J5TODO: Needs some testing ! +public class LocalVariableTypeTable extends Attribute { + private static final long serialVersionUID = -1082157891095177114L; +private int local_variable_type_table_length; // Table of local + private LocalVariable[] local_variable_type_table; // variables + + public LocalVariableTypeTable(LocalVariableTypeTable c) { + this(c.getNameIndex(), c.getLength(), c.getLocalVariableTypeTable(), + c.getConstantPool()); + } + + public LocalVariableTypeTable(int name_index, int length, + LocalVariable[] local_variable_table, + ConstantPool constant_pool) + { + super(Constants.ATTR_LOCAL_VARIABLE_TYPE_TABLE, name_index, length, constant_pool); + setLocalVariableTable(local_variable_table); + } + + LocalVariableTypeTable(int nameIdx, int len, DataInputStream dis,ConstantPool cpool) throws IOException { + this(nameIdx, len, (LocalVariable[])null, cpool); + + local_variable_type_table_length = (dis.readUnsignedShort()); + local_variable_type_table = new LocalVariable[local_variable_type_table_length]; + + for(int i=0; i < local_variable_type_table_length; i++) + local_variable_type_table[i] = new LocalVariable(dis, cpool); + } + + @Override +public void accept(Visitor v) { + v.visitLocalVariableTypeTable(this); + } + + @Override +public final void dump(DataOutputStream file) throws IOException + { + super.dump(file); + file.writeShort(local_variable_type_table_length); + for(int i=0; i < local_variable_type_table_length; i++) + local_variable_type_table[i].dump(file); + } + + public final LocalVariable[] getLocalVariableTypeTable() { + return local_variable_type_table; + } + + public final LocalVariable getLocalVariable(int index) { + for(int i=0; i < local_variable_type_table_length; i++) + if(local_variable_type_table[i].getIndex() == index) + return local_variable_type_table[i]; + + return null; + } + + public final void setLocalVariableTable(LocalVariable[] local_variable_table) + { + this.local_variable_type_table = local_variable_table; + local_variable_type_table_length = (local_variable_table == null)? 0 : + local_variable_table.length; + } + + /** + * @return String representation. + */ + @Override +public final String toString() { + StringBuilder buf = new StringBuilder(); + + for(int i=0; i < local_variable_type_table_length; i++) { + buf.append(local_variable_type_table[i].toString()); + + if(i < local_variable_type_table_length - 1) buf.append('\n'); + } + + return buf.toString(); + } + + /** + * @return deep copy of this attribute + */ + @Override +public Attribute copy(ConstantPool constant_pool) { + LocalVariableTypeTable c = (LocalVariableTypeTable)clone(); + + c.local_variable_type_table = new LocalVariable[local_variable_type_table_length]; + for(int i=0; i < local_variable_type_table_length; i++) + c.local_variable_type_table[i] = local_variable_type_table[i].copy(); + + c.constant_pool = constant_pool; + return c; + } + + public final int getTableLength() { return local_variable_type_table_length; } +}
--- a/src/com/sun/org/apache/bcel/internal/classfile/Visitor.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/bcel/internal/classfile/Visitor.java Fri Feb 08 23:20:05 2013 -0800 @@ -94,6 +94,7 @@ public void visitLineNumberTable(LineNumberTable obj); public void visitLocalVariable(LocalVariable obj); public void visitLocalVariableTable(LocalVariableTable obj); + public void visitLocalVariableTypeTable(LocalVariableTypeTable obj); public void visitMethod(Method obj); public void visitSignature(Signature obj); public void visitSourceFile(SourceFile obj);
--- a/src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/bcel/internal/generic/MethodGen.java Fri Feb 08 23:20:05 2013 -0800 @@ -258,6 +258,23 @@ addLocalVariable(l.getName(), Type.getType(l.getSignature()), l.getIndex(), start, end); } + } else if (a instanceof LocalVariableTypeTable) { + LocalVariable[] lv = ((LocalVariableTypeTable) a).getLocalVariableTypeTable(); + removeLocalVariables(); + for (int k = 0; k < lv.length; k++) { + LocalVariable l = lv[k]; + InstructionHandle start = il.findHandle(l.getStartPC()); + InstructionHandle end = il.findHandle(l.getStartPC() + l.getLength()); + // Repair malformed handles + if (null == start) { + start = il.getStart(); + } + if (null == end) { + end = il.getEnd(); + } + addLocalVariable(l.getName(), Type.getType(l.getSignature()), l + .getIndex(), start, end); + } } else addCodeAttribute(a); }
--- a/src/com/sun/org/apache/xalan/internal/XalanConstants.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/xalan/internal/XalanConstants.java Fri Feb 08 23:20:05 2013 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/com/sun/org/apache/xalan/internal/utils/FactoryImpl.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/xalan/internal/utils/FactoryImpl.java Fri Feb 08 23:20:05 2013 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it
--- a/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/xalan/internal/xslt/EnvironmentCheck.java Fri Feb 08 23:20:05 2013 -0800 @@ -1005,7 +1005,7 @@ { Class clazz = ObjectFactory.findProviderClass(DOM_CLASS, true); - Method method = clazz.getMethod(DOM_LEVEL3_METHOD, null); + Method method = clazz.getMethod(DOM_LEVEL3_METHOD, (Class<?>[])null); // If we succeeded, we have loaded interfaces from a // level 3 DOM somewhere
--- a/src/com/sun/org/apache/xerces/internal/impl/Version.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/xerces/internal/impl/Version.java Fri Feb 08 23:20:05 2013 -0800 @@ -74,7 +74,7 @@ /** Version string. * @deprecated getVersion() should be used instead. */ - public static String fVersion = "Xerces-J 2.7.1"; + public static final String fVersion = getVersion(); private static final String fImmutableVersion = "Xerces-J 2.7.1";
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java Fri Feb 08 23:20:05 2013 -0800 @@ -193,9 +193,12 @@ null, }; - protected static final char [] cdata = {'[','C','D','A','T','A','['}; - protected static final char [] xmlDecl = {'<','?','x','m','l'}; - protected static final char [] endTag = {'<','/'}; + private static final char [] cdata = {'[','C','D','A','T','A','['}; + private static final char [] endTag = {'<','/'}; + + //this variable is also used by XMLDocumentScannerImpl in the same package + static final char [] xmlDecl = {'<','?','x','m','l'}; + // debugging /** Debug scanner state. */
--- a/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLEntityScanner.java Fri Feb 08 23:20:05 2013 -0800 @@ -71,7 +71,7 @@ /** Listeners which should know when load is being called */ private Vector listeners = new Vector(); - public static final boolean [] VALID_NAMES = new boolean[127]; + private static final boolean [] VALID_NAMES = new boolean[127]; /** * Debug printing of buffer. This debugging flag works best when you
--- a/src/javax/xml/transform/FactoryFinder.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/javax/xml/transform/FactoryFinder.java Fri Feb 08 23:20:05 2013 -0800 @@ -210,7 +210,7 @@ providerClass.getDeclaredMethod( "newTransformerFactoryNoServiceLoader" ); - return creationMethod.invoke(null, null); + return creationMethod.invoke(null, (Object[])null); } catch (NoSuchMethodException exc) { return null; } catch (Exception exc) {
--- a/src/javax/xml/validation/SchemaFactoryFinder.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/javax/xml/validation/SchemaFactoryFinder.java Fri Feb 08 23:20:05 2013 -0800 @@ -357,7 +357,7 @@ providerClass.getDeclaredMethod( "newXMLSchemaFactoryNoServiceLoader" ); - return creationMethod.invoke(null, null); + return creationMethod.invoke(null, (Object[])null); } catch (NoSuchMethodException exc) { return null; } catch (Exception exc) {
--- a/src/javax/xml/xpath/XPathFactoryFinder.java Fri Dec 14 16:11:34 2012 -0800 +++ b/src/javax/xml/xpath/XPathFactoryFinder.java Fri Feb 08 23:20:05 2013 -0800 @@ -333,7 +333,7 @@ providerClass.getDeclaredMethod( "newXPathFactoryNoServiceLoader" ); - return creationMethod.invoke(null, null); + return creationMethod.invoke(null, (Object[])null); } catch (NoSuchMethodException exc) { return null; } catch (Exception exc) {