Exemple #1
0
        internal static DecomposeStructNode InsertDecompositionForStructVariable(Diagram parentDiagram, LiveVariable liveStructVariable, ITypeUnificationResultFactory unificationResultFactory)
        {
            NIType variableType = liveStructVariable.Variable.Type;
            DecomposeStructNode decomposeStruct = TupleNodeHelpers.CreateDecomposeStructNodeWithFacades(
                parentDiagram,
                variableType);

            Terminal structInputTerminal = decomposeStruct.InputTerminals[0];

            liveStructVariable.ConnectToTerminalAsInputAndUnifyVariables(
                structInputTerminal,
                unificationResultFactory);
            return(decomposeStruct);
        }
Exemple #2
0
        internal static DecomposeTupleNode InsertDecompositionForTupleVariable(Diagram parentDiagram, LiveVariable liveTupleVariable, ITypeUnificationResultFactory unificationResultFactory)
        {
            NIType             variableType   = liveTupleVariable.Variable.Type;
            DecomposeTupleNode decomposeTuple = TupleNodeHelpers.CreateDecomposeTupleNodeWithFacades(
                parentDiagram,
                variableType.GetFields().Count(),
                DecomposeMode.Move);

            Terminal tupleInputTerminal = decomposeTuple.InputTerminals[0];

            liveTupleVariable.ConnectToTerminalAsInputAndUnifyVariables(
                tupleInputTerminal,
                unificationResultFactory);
            return(decomposeTuple);
        }