//UPGRADE_TODO: Class 'java.io.DataInputStream' was converted to 'System.IO.BinaryReader' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javaioDataInputStream'" public override void readExternal(System.IO.BinaryReader in_Renamed, PrototypeFactory pf) { init_context = ExtUtil.readInt(in_Renamed); if (init_context == INIT_CONTEXT_EXPR) { filtExpr = (XPathFilterExpr)ExtUtil.read(in_Renamed, typeof(XPathFilterExpr), pf); } System.Collections.ArrayList v = (System.Collections.ArrayList)ExtUtil.read(in_Renamed, new ExtWrapList(typeof(XPathStep)), pf); steps = new XPathStep[v.Count]; for (int i = 0; i < steps.Length; i++) { steps[i] = ((XPathStep)v[i]).intern(); } }
public void readExternal(BinaryReader in_, PrototypeFactory pf) { init_context = ExtUtil.readInt(in_); if (init_context == INIT_CONTEXT_EXPR) { filtExpr = (XPathFilterExpr)ExtUtil.read(in_, typeof(XPathFilterExpr), pf); } ArrayList v = (ArrayList)ExtUtil.read(in_, new ExtWrapList(typeof(XPathStep)), pf); steps = new XPathStep[v.Count]; for (int i = 0; i < steps.Length; i++) { steps[i] = (XPathStep)v[i]; } }
public Boolean equals(Object o) { if (o is XPathFilterExpr) { XPathFilterExpr fe = (XPathFilterExpr)o; ArrayList a = new ArrayList(); for (int i = 0; i < predicates.Length; i++) { a.Add(predicates[i]); } ArrayList b = new ArrayList(); for (int i = 0; i < fe.predicates.Length; i++) { b.Add(fe.predicates[i]); } return(x.Equals(fe.x) && ExtUtil.vectorEquals(a, b)); } else { return(false); } }
public override bool Equals(System.Object o) { if (o is XPathFilterExpr) { XPathFilterExpr fe = (XPathFilterExpr)o; System.Collections.ArrayList a = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(10)); for (int i = 0; i < predicates.Length; i++) { a.Add(predicates[i]); } System.Collections.ArrayList b = System.Collections.ArrayList.Synchronized(new System.Collections.ArrayList(10)); for (int i = 0; i < fe.predicates.Length; i++) { b.Add(fe.predicates[i]); } return(x.Equals(fe.x) && ExtUtil.vectorEquals(a, b)); } else { return(false); } }
public XPathPathExpr(XPathFilterExpr filtExpr, XPathStep[] steps) : this(INIT_CONTEXT_EXPR, steps) { this.filtExpr = filtExpr; }
public void print(Object o) { indent += 1; if (o is XPathStringLiteral) { XPathStringLiteral x = (XPathStringLiteral)o; printStr("strlit {" + x.s + "}"); } else if (o is XPathNumericLiteral) { XPathNumericLiteral x = (XPathNumericLiteral)o; printStr("numlit {" + x.d + "}"); } else if (o is XPathVariableReference) { XPathVariableReference x = (XPathVariableReference)o; printStr("var {" + x.id.ToString() + "}"); } else if (o is XPathArithExpr) { XPathArithExpr x = (XPathArithExpr)o; String op = null; switch (x.op) { case XPathArithExpr.ADD: op = "add"; break; case XPathArithExpr.SUBTRACT: op = "subtr"; break; case XPathArithExpr.MULTIPLY: op = "mult"; break; case XPathArithExpr.DIVIDE: op = "div"; break; case XPathArithExpr.MODULO: op = "mod"; break; } printStr(op + " {{"); print(x.a); printStr(" } {"); print(x.b); printStr("}}"); } else if (o is XPathBoolExpr) { XPathBoolExpr x = (XPathBoolExpr)o; String op = null; switch (x.op) { case XPathBoolExpr.AND: op = "and"; break; case XPathBoolExpr.OR: op = "or"; break; } printStr(op + " {{"); print(x.a); printStr(" } {"); print(x.b); printStr("}}"); } else if (o is XPathCmpExpr) { XPathCmpExpr x = (XPathCmpExpr)o; String op = null; switch (x.op) { case XPathCmpExpr.LT: op = "lt"; break; case XPathCmpExpr.LTE: op = "lte"; break; case XPathCmpExpr.GT: op = "gt"; break; case XPathCmpExpr.GTE: op = "gte"; break; } printStr(op + " {{"); print(x.a); printStr(" } {"); print(x.b); printStr("}}"); } else if (o is XPathEqExpr) { XPathEqExpr x = (XPathEqExpr)o; String op = x.equal ? "eq" : "neq"; printStr(op + " {{"); print(x.a); printStr(" } {"); print(x.b); printStr("}}"); } else if (o is XPathUnionExpr) { XPathUnionExpr x = (XPathUnionExpr)o; printStr("union {{"); print(x.a); printStr(" } {"); print(x.b); printStr("}}"); } else if (o is XPathNumNegExpr) { XPathNumNegExpr x = (XPathNumNegExpr)o; printStr("neg {"); print(x.a); printStr("}"); } else if (o is XPathFuncExpr) { XPathFuncExpr x = (XPathFuncExpr)o; if (x.args.Length == 0) { printStr("func {" + x.id.ToString() + ", args {none}}"); } else { printStr("func {" + x.id.ToString() + ", args {{"); for (int i = 0; i < x.args.Length; i++) { print(x.args[i]); if (i < x.args.Length - 1) { printStr(" } {"); } } printStr("}}}"); } } else if (o is XPathPathExpr) { XPathPathExpr x = (XPathPathExpr)o; String init = null; switch (x.init_context) { case XPathPathExpr.INIT_CONTEXT_ROOT: init = "root"; break; case XPathPathExpr.INIT_CONTEXT_RELATIVE: init = "relative"; break; case XPathPathExpr.INIT_CONTEXT_EXPR: init = "expr"; break; } printStr("path {init-context:" + init + ","); if (x.init_context == XPathPathExpr.INIT_CONTEXT_EXPR) { printStr(" init-expr:{"); print(x.filtExpr); printStr(" }"); } if (x.steps.Length == 0) { printStr(" steps {none}"); printStr("}"); } else { printStr(" steps {{"); for (int i = 0; i < x.steps.Length; i++) { print(x.steps[i]); if (i < x.steps.Length - 1) { printStr(" } {"); } } printStr("}}}"); } } else if (o is XPathFilterExpr) { XPathFilterExpr x = (XPathFilterExpr)o; printStr("filter-expr:{{"); print(x.x); if (x.predicates.Length == 0) { printStr(" } predicates {none}}"); } else { printStr(" } predicates {{"); for (int i = 0; i < x.predicates.Length; i++) { print(x.predicates[i]); if (i < x.predicates.Length - 1) { printStr(" } {"); } } printStr(" }}}"); } } else if (o is XPathStep) { XPathStep x = (XPathStep)o; String axis = null; String test = null; axis = XPathStep.axisStr(x.axis); test = x.testStr(); if (x.predicates.Length == 0) { printStr("step {axis:" + axis + " test:" + test + " predicates {none}}"); } else { printStr("step {axis:" + axis + " test:" + test + " predicates {{"); for (int i = 0; i < x.predicates.Length; i++) { print(x.predicates[i]); if (i < x.predicates.Length - 1) { printStr(" } {"); } } printStr("}}}"); } } indent -= 1; }