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

◆ Define()

void System.Linq.Expressions.Interpreter.LabelInfo.Define ( LabelScopeInfo block)
inlinepackage

Definition at line 41 of file LabelInfo.cs.

42 {
43 for (LabelScopeInfo labelScopeInfo = block; labelScopeInfo != null; labelScopeInfo = labelScopeInfo.Parent)
44 {
45 if (labelScopeInfo.ContainsTarget(_node))
46 {
47 throw Error.LabelTargetAlreadyDefined(_node.Name);
48 }
49 }
51 block.AddLabelInfo(_node, this);
53 {
54 foreach (LabelScopeInfo reference in _references)
55 {
57 }
58 return;
59 }
61 {
62 throw Error.AmbiguousJump(_node.Name);
63 }
64 _label = null;
65 }
void ValidateJump(LabelScopeInfo reference)
Definition LabelInfo.cs:67
readonly List< LabelScopeInfo > _references
Definition LabelInfo.cs:13
void AddDefinition(LabelScopeInfo scope)
Definition LabelInfo.cs:160

References System.Linq.Expressions.Interpreter.LabelInfo._acrossBlockJump, System.Linq.Expressions.Interpreter.LabelInfo._label, System.Linq.Expressions.Interpreter.LabelInfo._node, System.Linq.Expressions.Interpreter.LabelInfo._references, System.Linq.Expressions.Interpreter.LabelInfo.AddDefinition(), System.Linq.Expressions.Error.AmbiguousJump(), System.Linq.Expressions.Interpreter.LabelInfo.HasDefinitions, System.Linq.Expressions.Interpreter.LabelInfo.HasMultipleDefinitions, System.Linq.Expressions.Error.LabelTargetAlreadyDefined(), System.Linq.Expressions.LabelTarget.Name, and System.Linq.Expressions.Interpreter.LabelInfo.ValidateJump().