示例#1
0
 /// <summary>
 /// Instantiates a new SequenceInvocationParameterBindings object
 /// </summary>
 /// <param name="sequenceDef">The defined sequence to be used</param>
 /// <param name="argExprs">An array of expressions used to compute the arguments</param>
 /// <param name="arguments">An array of arguments.</param>
 /// <param name="returnVars">An array of variables used for the return values</param>
 public SequenceInvocationParameterBindings(ISequenceDefinition sequenceDef,
                                            SequenceExpression[] argExprs, object[] arguments, SequenceVariable[] returnVars, SequenceVariable subgraph)
     : base(argExprs, arguments, returnVars)
 {
     SequenceDef = sequenceDef;
     if (sequenceDef != null)
     {
         Name                = sequenceDef.Name;
         PrePackage          = sequenceDef is SequenceDefinitionCompiled ?  ((SequenceDefinitionCompiled)sequenceDef).SeqInfo.Package : null;
         Package             = PrePackage;
         PackagePrefixedName = Package != null ? Package + "::" + Name : Name;
     }
     Subgraph = subgraph;
 }
示例#2
0
        public override SequenceSequenceCall CreateSequenceSequenceCall(String sequenceName, String packagePrefix,
                                                                        List <SequenceExpression> argExprs, List <SequenceVariable> returnVars, SequenceVariable subgraph,
                                                                        bool special)
        {
            String packagePrefixedName      = !PackageIsNullOrGlobal(packagePrefix) ? packagePrefix + "::" + sequenceName : sequenceName;
            ISequenceDefinition sequenceDef = actions.GetSequenceDefinition(packagePrefixedName);

            if (sequenceDef == null)
            {
                throw new SequenceParserException(packagePrefixedName, DefinitionType.Sequence, SequenceParserError.UnknownRuleOrSequence);
            }

            return(new SequenceSequenceCallInterpreted(sequenceDef,
                                                       argExprs, returnVars, subgraph,
                                                       special));
        }
 /// <summary>
 /// Instantiates a new SequenceInvocationParameterBindings object
 /// </summary>
 /// <param name="sequenceDef">The defined sequence to be used</param>
 /// <param name="argExprs">An array of expressions used to compute the arguments</param>
 /// <param name="arguments">An array of arguments.</param>
 /// <param name="returnVars">An array of variables used for the return values</param>
 public SequenceInvocationParameterBindings(ISequenceDefinition sequenceDef,
     SequenceExpression[] argExprs, object[] arguments, SequenceVariable[] returnVars, SequenceVariable subgraph)
     : base(argExprs, arguments, returnVars)
 {
     SequenceDef = sequenceDef;
     if(sequenceDef != null)
     {
         Name = sequenceDef.Name;
         PrePackage = sequenceDef is SequenceDefinitionCompiled ?  ((SequenceDefinitionCompiled)sequenceDef).SeqInfo.Package : null;
         Package = PrePackage;
         PackagePrefixedName = Package != null ? Package + "::" + Name : Name;
     }
     Subgraph = subgraph;
 }