aboutsummaryrefslogtreecommitdiff
path: root/src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java
diff options
context:
space:
mode:
authorDana Dahlstrom <dahlstrom@google.com>2020-01-30 12:00:00 -0800
committerDana Dahlstrom <dahlstrom@google.com>2020-01-30 12:00:00 -0800
commitb2cda3bc5bb7919a1d302a4c846e40b0674fc080 (patch)
treed41f90d41ef297774033e57653db09d5126bece2 /src/com/sun/org/apache/xalan/internal/xsltc/compiler/Sort.java
parenta81638cc8ad716966a1d9e2c439f9ac8ad50627a (diff)
parent80120f4e90208c33381df422df070ac4d1857e24 (diff)
downloadjdk8u_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.java21
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);
}
/**