コード例 #1
0
        private NodeDebugInfo FromProtobuf(NodeDebugInfoMsg msg)
        {
            var debugInfo = new NodeDebugInfo
            {
                Id     = msg.Id,
                RuleId = msg.RuleId,
                Line   = (Int32)msg.Line,
                ColumnToVariableMaps = new Dictionary <int, int>(),
                DatabaseId           = msg.DatabaseId,
                Name         = msg.Name,
                Type         = (LSLib.LS.Story.Node.Type)msg.Type,
                ParentNodeId = msg.ParentNodeId
            };

            if (msg.FunctionName != "")
            {
                debugInfo.FunctionName = new FunctionNameAndArity(msg.FunctionName, (int)msg.FunctionArity);
            }

            foreach (var map in msg.ColumnMaps)
            {
                debugInfo.ColumnToVariableMaps.Add((Int32)map.Key, (Int32)map.Value);
            }

            return(debugInfo);
        }
コード例 #2
0
        private NodeDebugInfoMsg ToProtobuf(NodeDebugInfo debugInfo)
        {
            var msg = new NodeDebugInfoMsg
            {
                Id            = debugInfo.Id,
                RuleId        = debugInfo.RuleId,
                Line          = (UInt32)debugInfo.Line,
                DatabaseId    = debugInfo.DatabaseId,
                Name          = debugInfo.Name,
                Type          = (NodeDebugInfoMsg.Types.NodeType)debugInfo.Type,
                ParentNodeId  = debugInfo.ParentNodeId,
                FunctionName  = debugInfo.FunctionName != null ? debugInfo.FunctionName.Name : "",
                FunctionArity = debugInfo.FunctionName != null ? (uint)debugInfo.FunctionName.Arity : 0
            };

            foreach (var map in debugInfo.ColumnToVariableMaps)
            {
                msg.ColumnMaps.Add((UInt32)map.Key, (UInt32)map.Value);
            }

            return(msg);
        }