diff options
author | Dana Dahlstrom <dahlstrom@google.com> | 2020-01-30 12:00:00 -0800 |
---|---|---|
committer | Dana Dahlstrom <dahlstrom@google.com> | 2020-01-30 12:00:00 -0800 |
commit | b2cda3bc5bb7919a1d302a4c846e40b0674fc080 (patch) | |
tree | d41f90d41ef297774033e57653db09d5126bece2 /src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java | |
parent | a81638cc8ad716966a1d9e2c439f9ac8ad50627a (diff) | |
parent | 80120f4e90208c33381df422df070ac4d1857e24 (diff) | |
download | jdk8u_jaxp-b2cda3bc5bb7919a1d302a4c846e40b0674fc080.tar.gz |
Merge tag jb8u232-b1638.6
Change-Id: I80120f4e90208c33381df422df070ac4d1857e24
Diffstat (limited to 'src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java')
-rw-r--r-- | src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java b/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java index f7309e5..9b40267 100644 --- a/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java +++ b/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java @@ -65,7 +65,7 @@ final class Sort extends Instruction implements Closure { private AttributeValue _order; private AttributeValue _caseOrder; private AttributeValue _dataType; - private String _lang; // bug! see 26869 + private AttributeValue _lang; // bug! see 26869, see XALANJ-2546 private String _className = null; private ArrayList<VariableRefBase> _closureVars = null; @@ -153,13 +153,11 @@ final class Sort extends Instruction implements Closure { } _dataType = AttributeValue.create(this, val, parser); - _lang = getAttribute("lang"); // bug! see 26869 - // val = getAttribute("lang"); - // _lang = AttributeValue.create(this, val, parser); + val = getAttribute("lang"); + _lang = AttributeValue.create(this, val, parser); // Get the case order; default is language dependant - val = getAttribute("case-order"); - _caseOrder = AttributeValue.create(this, val, parser); - + val = getAttribute("case-order"); + _caseOrder = AttributeValue.create(this, val, parser); } /** @@ -178,6 +176,7 @@ final class Sort extends Instruction implements Closure { _order.typeCheck(stable); _caseOrder.typeCheck(stable); _dataType.typeCheck(stable); + _lang.typeCheck(stable); return Type.Void; } @@ -195,16 +194,14 @@ final class Sort extends Instruction implements Closure { _order.translate(classGen, methodGen); } - public void translateCaseOrder(ClassGenerator classGen, + public void translateCaseOrder(ClassGenerator classGen, MethodGenerator methodGen) { - _caseOrder.translate(classGen, methodGen); + _caseOrder.translate(classGen, methodGen); } public void translateLang(ClassGenerator classGen, MethodGenerator methodGen) { - final ConstantPoolGen cpg = classGen.getConstantPool(); - final InstructionList il = methodGen.getInstructionList(); - il.append(new PUSH(cpg, _lang)); // bug! see 26869 + _lang.translate(classGen, methodGen); } /** |