internal void AddLabelInfo(LabelTarget target, LabelInfo info)
        {
            Debug.Assert(CanJumpInto);

            if (_labels == null)
            {
                _labels = new HybridReferenceDictionary <LabelTarget, LabelInfo>();
            }

            _labels[target] = info;
        }
Exemplo n.º 2
0
        internal Interpreter(string name, LocalVariables locals, HybridReferenceDictionary <LabelTarget, BranchLabel> labelMapping,
                             InstructionArray instructions, DebugInfo[] debugInfos)
        {
            Name              = name;
            _localCount       = locals.LocalCount;
            _closureVariables = locals.ClosureVariables;

            _instructions = instructions;
            Objects       = instructions.Objects;
            Labels        = instructions.Labels;
            _labelMapping = labelMapping;

            DebugInfos = debugInfos;
        }