// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) fieldsfirst lnc // Source File Name: UnionExpression.java package com.icl.saxon.expr; import com.icl.saxon.Context; import com.icl.saxon.om.NodeEnumeration; import java.io.PrintStream; // Referenced classes of package com.icl.saxon.expr: // NodeSetExpression, EmptyNodeSet, UnionEnumeration, XPathException, // Expression class UnionExpression extends NodeSetExpression { protected Expression p1; protected Expression p2; public UnionExpression(Expression expression, Expression expression1) { /* 24*/ p1 = expression; /* 25*/ p2 = expression1; } public Expression simplify() throws XPathException { /* 34*/ p1 = p1.simplify(); /* 35*/ p2 = p2.simplify(); /* 36*/ if(p1 instanceof EmptyNodeSet) /* 36*/ return p2; /* 37*/ if(p2 instanceof EmptyNodeSet) /* 37*/ return p1; /* 38*/ else /* 38*/ return this; } public NodeEnumeration enumerate(Context context, boolean flag) throws XPathException { /* 50*/ return new UnionEnumeration(p1.enumerate(context, true), p2.enumerate(context, true), context.getController()); } public int getDependencies() { /* 62*/ return p1.getDependencies() | p2.getDependencies(); } public boolean isContextDocumentNodeSet() { /* 72*/ return p1.isContextDocumentNodeSet() && p2.isContextDocumentNodeSet(); } public Expression reduce(int i, Context context) throws XPathException { /* 85*/ if((getDependencies() & i) != 0) { /* 86*/ UnionExpression unionexpression = new UnionExpression(p1.reduce(i, context), p2.reduce(i, context)); /* 89*/ unionexpression.setStaticContext(getStaticContext()); /* 90*/ return unionexpression; } else { /* 92*/ return this; } } public void display(int i) { /* 101*/ System.err.println(Expression.indent(i) + "union"); /* 102*/ p1.display(i + 1); /* 103*/ p2.display(i + 1); } }