diff options
Diffstat (limited to 'src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java')
-rw-r--r-- | src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java | 91 |
1 files changed, 46 insertions, 45 deletions
diff --git a/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java b/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java index 0903d9a..2584f43 100644 --- a/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java +++ b/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java @@ -1,13 +1,13 @@ /* - * reserved comment block - * DO NOT REMOVE OR ALTER! + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. */ /* - * Copyright 2001-2004 The Apache Software Foundation. - * - * Licensed 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 + * 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 * @@ -37,9 +37,10 @@ import com.sun.org.apache.xml.internal.serializer.utils.SystemIDResolver; import java.io.File; import java.io.IOException; import java.io.StringReader; -import java.util.Dictionary; -import java.util.Enumeration; -import java.util.Hashtable; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.Properties; import java.util.Stack; import java.util.StringTokenizer; @@ -77,14 +78,14 @@ public class Parser implements Constants, ContentHandler { private Vector _errors; // Contains all compilation errors private Vector _warnings; // Contains all compilation errors - private Hashtable _instructionClasses; // Maps instructions to classes - private Hashtable _instructionAttrs;; // reqd and opt attrs - private Hashtable _qNames; - private Hashtable _namespaces; + private Map<String, String> _instructionClasses; // Maps instructions to classes + private Map<String, String[]> _instructionAttrs; // reqd and opt attrs + private Map<String, QName> _qNames; + private Map<String, Map> _namespaces; private QName _useAttributeSets; private QName _excludeResultPrefixes; private QName _extensionElementPrefixes; - private Hashtable _variableScope; + private Map<String, Object> _variableScope; private Stylesheet _currentStylesheet; private SymbolTable _symbolTable; // Maps QNames to syntax-tree nodes private Output _output; @@ -106,11 +107,11 @@ public class Parser implements Constants, ContentHandler { } public void init() { - _qNames = new Hashtable(512); - _namespaces = new Hashtable(); - _instructionClasses = new Hashtable(); - _instructionAttrs = new Hashtable(); - _variableScope = new Hashtable(); + _qNames = new HashMap<>(512); + _namespaces = new HashMap<>(); + _instructionClasses = new HashMap<>(); + _instructionAttrs = new HashMap<>(); + _variableScope = new HashMap<>(); _template = null; _errors = new Vector(); _warnings = new Vector(); @@ -169,7 +170,7 @@ public class Parser implements Constants, ContentHandler { } private void addVariableOrParam(VariableBase var) { - Object existing = _variableScope.get(var.getName()); + Object existing = _variableScope.get(var.getName().getStringRep()); if (existing != null) { if (existing instanceof Stack) { Stack stack = (Stack)existing; @@ -179,26 +180,26 @@ public class Parser implements Constants, ContentHandler { Stack stack = new Stack(); stack.push(existing); stack.push(var); - _variableScope.put(var.getName(), stack); + _variableScope.put(var.getName().getStringRep(), stack); } } else { - _variableScope.put(var.getName(), var); + _variableScope.put(var.getName().getStringRep(), var); } } public void removeVariable(QName name) { - Object existing = _variableScope.get(name); + Object existing = _variableScope.get(name.getStringRep()); if (existing instanceof Stack) { Stack stack = (Stack)existing; if (!stack.isEmpty()) stack.pop(); if (!stack.isEmpty()) return; } - _variableScope.remove(name); + _variableScope.remove(name.getStringRep()); } public VariableBase lookupVariable(QName name) { - Object existing = _variableScope.get(name); + Object existing = _variableScope.get(name.getStringRep()); if (existing instanceof VariableBase) { return((VariableBase)existing); } @@ -305,7 +306,7 @@ public class Parser implements Constants, ContentHandler { public QName getQName(String namespace, String prefix, String localname) { if (namespace == null || namespace.equals(EMPTYSTRING)) { - QName name = (QName)_qNames.get(localname); + QName name = _qNames.get(localname); if (name == null) { name = new QName(null, prefix, localname); _qNames.put(localname, name); @@ -313,7 +314,7 @@ public class Parser implements Constants, ContentHandler { return name; } else { - Dictionary space = (Dictionary)_namespaces.get(namespace); + Map<String, QName> space = _namespaces.get(namespace); String lexicalQName = (prefix == null || prefix.length() == 0) ? localname @@ -321,12 +322,12 @@ public class Parser implements Constants, ContentHandler { if (space == null) { final QName name = new QName(namespace, prefix, localname); - _namespaces.put(namespace, space = new Hashtable()); + _namespaces.put(namespace, space = new HashMap<>()); space.put(lexicalQName, name); return name; } else { - QName name = (QName)space.get(lexicalQName); + QName name = space.get(lexicalQName); if (name == null) { name = new QName(namespace, prefix, localname); space.put(lexicalQName, name); @@ -397,9 +398,9 @@ public class Parser implements Constants, ContentHandler { if (stylesheet != null) { stylesheet.parseContents(this); final int precedence = stylesheet.getImportPrecedence(); - final Enumeration elements = stylesheet.elements(); - while (elements.hasMoreElements()) { - Object child = elements.nextElement(); + final Iterator<SyntaxTreeNode> elements = stylesheet.elements(); + while (elements.hasNext()) { + SyntaxTreeNode child = elements.next(); if (child instanceof Text) { final int l = getLineNumber(); ErrorMsg err = @@ -609,11 +610,11 @@ public class Parser implements Constants, ContentHandler { String id = root.getAttribute("id"); if (id.equals(href)) return root; } - Vector children = root.getContents(); + List<SyntaxTreeNode> children = root.getContents(); if (children != null) { final int count = children.size(); for (int i = 0; i < count; i++) { - SyntaxTreeNode child = (SyntaxTreeNode)children.elementAt(i); + SyntaxTreeNode child = children.get(i); SyntaxTreeNode node = findStylesheet(child, href); if (node != null) return node; } @@ -640,7 +641,7 @@ public class Parser implements Constants, ContentHandler { } private void initAttrTable(String elementName, String[] attrs) { - _instructionAttrs.put(getQName(XSLT_URI, XSL, elementName), + _instructionAttrs.put(getQName(XSLT_URI, XSL, elementName).getStringRep(), attrs); } @@ -704,7 +705,7 @@ public class Parser implements Constants, ContentHandler { /** - * Initialize the _instructionClasses Hashtable, which maps XSL element + * Initialize the _instructionClasses map, which maps XSL element * names to Java classes in this package. */ private void initStdClasses() { @@ -746,12 +747,12 @@ public class Parser implements Constants, ContentHandler { } private void initStdClass(String elementName, String className) { - _instructionClasses.put(getQName(XSLT_URI, XSL, elementName), + _instructionClasses.put(getQName(XSLT_URI, XSL, elementName).getStringRep(), COMPILER_PACKAGE + '.' + className); } public boolean elementSupported(String namespace, String localName) { - return(_instructionClasses.get(getQName(namespace, XSL, localName)) != null); + return(_instructionClasses.get(getQName(namespace, XSL, localName).getStringRep()) != null); } public boolean functionSupported(String fname) { @@ -764,12 +765,12 @@ public class Parser implements Constants, ContentHandler { } private void initExtClass(String elementName, String className) { - _instructionClasses.put(getQName(TRANSLET_URI, TRANSLET, elementName), + _instructionClasses.put(getQName(TRANSLET_URI, TRANSLET, elementName).getStringRep(), COMPILER_PACKAGE + '.' + className); } private void initExtClass(String namespace, String elementName, String className) { - _instructionClasses.put(getQName(namespace, TRANSLET, elementName), + _instructionClasses.put(getQName(namespace, TRANSLET, elementName).getStringRep(), COMPILER_PACKAGE + '.' + className); } @@ -969,7 +970,7 @@ public class Parser implements Constants, ContentHandler { { SyntaxTreeNode node = null; QName qname = getQName(uri, prefix, local); - String className = (String)_instructionClasses.get(qname); + String className = _instructionClasses.get(qname.getStringRep()); if (className != null) { try { @@ -1052,7 +1053,7 @@ public class Parser implements Constants, ContentHandler { { QName qname = node.getQName(); boolean isStylesheet = (node instanceof Stylesheet); - String[] legal = (String[]) _instructionAttrs.get(qname); + String[] legal = _instructionAttrs.get(qname.getStringRep()); if (versionIsOne && legal != null) { int j; final int n = attrs.getLength(); @@ -1250,7 +1251,7 @@ public class Parser implements Constants, ContentHandler { /************************ SAX2 ContentHandler INTERFACE *****************/ private Stack _parentStack = null; - private Hashtable _prefixMapping = null; + private Map<String, String> _prefixMapping = null; /** * SAX2: Receive notification of the beginning of a document. @@ -1274,7 +1275,7 @@ public class Parser implements Constants, ContentHandler { */ public void startPrefixMapping(String prefix, String uri) { if (_prefixMapping == null) { - _prefixMapping = new Hashtable(); + _prefixMapping = new HashMap<>(); } _prefixMapping.put(prefix, uri); } |