aboutsummaryrefslogtreecommitdiff
path: root/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Parser.java
diff options
context:
space:
mode:
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.java91
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);
}