Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetVariableValue()

object System.Xml.Xsl.XsltOld.Processor.GetVariableValue ( VariableAction variable)
inlinepackage

Definition at line 738 of file Processor.cs.

739 {
740 int varKey = variable.VarKey;
741 if (variable.IsGlobal)
742 {
743 ActionFrame actionFrame = (ActionFrame)_actionStack[0];
744 object variable2 = actionFrame.GetVariable(varKey);
745 if (variable2 == VariableAction.BeingComputedMark)
746 {
747 throw XsltException.Create(System.SR.Xslt_CircularReference, variable.NameStr);
748 }
749 if (variable2 != null)
750 {
751 return variable2;
752 }
754 ActionFrame actionFrame2 = PushNewFrame();
755 actionFrame2.Inherit(actionFrame);
756 actionFrame2.Init(variable, actionFrame.NodeSet);
757 do
758 {
759 if (((ActionFrame)_actionStack.Peek()).Execute(this))
760 {
762 }
763 }
764 while (length < _actionStack.Length);
765 return actionFrame.GetVariable(varKey);
766 }
767 return ((ActionFrame)_actionStack.Peek()).GetVariable(varKey);
768 }
static string Xslt_CircularReference
Definition SR.cs:2122
Definition SR.cs:7
object Peek()
Definition HWStack.cs:81
readonly HWStack _actionStack
Definition Processor.cs:48

References System.Xml.Xsl.XsltOld.Processor._actionStack, System.Xml.Xsl.XsltOld.VariableAction.BeingComputedMark, System.Xml.Xsl.XsltException.Create(), System.Xml.Dictionary, System.length, System.Xml.HWStack.Length, System.Xml.HWStack.Peek(), System.Xml.HWStack.Pop(), System.Xml.Xsl.XsltOld.Processor.PushNewFrame(), and System.SR.Xslt_CircularReference.

Referenced by System.Xml.Xsl.XsltOld.XsltCompileContext.EvaluateVariable().