コード例 #1
0
 /// <summary>
 /// Instantiates a new InvocationParameterBindings object
 /// </summary>
 /// <param name="argExprs">An array of expressions used to compute the arguments</param>
 /// <param name="arguments">An array of arguments.</param>
 public InvocationParameterBindings(SequenceExpression[] argExprs, object[] arguments)
 {
     if(argExprs.Length != arguments.Length)
         throw new ArgumentException("Lengths of argument expression array and argument array do not match");
     Name = "<Unknown rule/sequence/function>";
     ArgumentExpressions = argExprs;
     Arguments = arguments;
 }
コード例 #2
0
 public SequenceExpressionConditional(SequenceExpression condition, 
     SequenceExpression trueCase, 
     SequenceExpression falseCase)
     : base(SequenceExpressionType.Conditional)
 {
     this.Condition = condition;
     this.TrueCase = trueCase;
     this.FalseCase = falseCase;
 }
コード例 #3
0
 public SequenceExpressionDiv(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.Div, left, right)
 {
 }
コード例 #4
0
 public SequenceExpressionMinus(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.Minus, left, right)
 {
 }
コード例 #5
0
 public SequenceExpressionLowerEqual(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.LowerEqual, left, right)
 {
 }
コード例 #6
0
 public SequenceExpressionFunctionMethodCall(SequenceExpression targetExpr, FunctionInvocationParameterBindings paramBindings)
     : base(SequenceExpressionType.FunctionMethodCall, paramBindings)
 {
     TargetExpr = targetExpr;
 }
コード例 #7
0
 public SequenceExpressionImport(SequenceExpression path)
     : base(SequenceExpressionType.Import)
 {
     Path = path;
 }
コード例 #8
0
 public SequenceExpressionStructuralEqual(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.StructuralEqual, left, right)
 {
 }
コード例 #9
0
 public SequenceExpressionCast(SequenceExpression operand, object targetType)
     : base(SequenceExpressionType.Cast)
 {
     this.Operand = operand;
     this.TargetType = targetType;
 }
コード例 #10
0
 public SequenceExpressionNot(SequenceExpression operand)
     : base(SequenceExpressionType.Not)
 {
     this.Operand = operand;
 }
コード例 #11
0
 public SequenceExpressionCountBoundedReachable(SequenceExpression sourceNode, SequenceExpression depth, SequenceExpression edgeType, SequenceExpression oppositeNodeType, SequenceExpressionType type)
     : base(type)
 {
     SourceNode = sourceNode;
     Depth = depth;
     EdgeType = edgeType;
     OppositeNodeType = oppositeNodeType;
     if(!(type == SequenceExpressionType.CountBoundedReachableNodes || type == SequenceExpressionType.CountBoundedReachableNodesViaIncoming || type == SequenceExpressionType.CountBoundedReachableNodesViaOutgoing)
         && !(type == SequenceExpressionType.CountBoundedReachableEdges || type == SequenceExpressionType.CountBoundedReachableEdgesViaIncoming || type == SequenceExpressionType.CountBoundedReachableEdgesViaOutgoing))
         throw new Exception("Internal failure, count bounded reachable with wrong type");
 }
コード例 #12
0
 public SequenceExpressionStrictAnd(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.StrictAnd, left, right)
 {
 }
コード例 #13
0
 public SequenceExpressionBoundedReachableWithRemainingDepth(SequenceExpression sourceNode, SequenceExpression depth, SequenceExpression edgeType, SequenceExpression oppositeNodeType, SequenceExpressionType type)
     : base(type)
 {
     SourceNode = sourceNode;
     Depth = depth;
     EdgeType = edgeType;
     OppositeNodeType = oppositeNodeType;
     if(!(type == SequenceExpressionType.BoundedReachableNodesWithRemainingDepth || type == SequenceExpressionType.BoundedReachableNodesWithRemainingDepthViaIncoming || type == SequenceExpressionType.BoundedReachableNodesWithRemainingDepthViaOutgoing))
         throw new Exception("Internal failure, bounded reachable with remaining depth with wrong type");
 }
コード例 #14
0
 public SequenceExpressionLazyAnd(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.LazyAnd, left, right)
 {
 }
コード例 #15
0
 public SequenceExpressionCountAdjacentIncident(SequenceExpression sourceNode, SequenceExpression edgeType, SequenceExpression oppositeNodeType, SequenceExpressionType type)
     : base(type)
 {
     SourceNode = sourceNode;
     EdgeType = edgeType;
     OppositeNodeType = oppositeNodeType;
     if(!(type == SequenceExpressionType.CountAdjacentNodes || type == SequenceExpressionType.CountAdjacentNodesViaIncoming || type == SequenceExpressionType.CountAdjacentNodesViaOutgoing)
         && !(type == SequenceExpressionType.CountIncidentEdges || type == SequenceExpressionType.CountIncomingEdges || type == SequenceExpressionType.CountOutgoingEdges))
         throw new Exception("Internal failure, count adjacent/incident with wrong type");
 }
コード例 #16
0
 public SequenceExpressionUniqueof(SequenceExpression uniquelyIdentifiedEntity)
     : base(SequenceExpressionType.Uniqueof)
 {
     UniquelyIdentifiedEntity = uniquelyIdentifiedEntity; // might be null
 }
コード例 #17
0
 public SequenceExpressionTypeof(SequenceExpression entity)
     : base(SequenceExpressionType.Typeof)
 {
     Entity = entity;
 }
コード例 #18
0
 public SequenceExpressionIsAdjacentIncident(SequenceExpression sourceNode, SequenceExpression endElement, SequenceExpression edgeType, SequenceExpression oppositeNodeType, SequenceExpressionType type)
     : base(type)
 {
     SourceNode = sourceNode;
     EndElement = endElement;
     EdgeType = edgeType;
     OppositeNodeType = oppositeNodeType;
     if(!(type == SequenceExpressionType.IsAdjacentNodes || type == SequenceExpressionType.IsAdjacentNodesViaIncoming || type == SequenceExpressionType.IsAdjacentNodesViaOutgoing)
         && !(type == SequenceExpressionType.IsIncidentEdges || type == SequenceExpressionType.IsIncomingEdges || type == SequenceExpressionType.IsOutgoingEdges))
         throw new Exception("Internal failure, isAdjacent/isIncident with wrong type");
 }
コード例 #19
0
 public SequenceExpressionExistsFile(SequenceExpression path)
     : base(SequenceExpressionType.ExistsFile)
 {
     Path = path;
 }
コード例 #20
0
 public SequenceExpressionIsReachable(SequenceExpression sourceNode, SequenceExpression endElement, SequenceExpression edgeType, SequenceExpression oppositeNodeType, SequenceExpressionType type)
     : base(type)
 {
     SourceNode = sourceNode;
     EndElement = endElement;
     EdgeType = edgeType;
     OppositeNodeType = oppositeNodeType;
     if(!(type == SequenceExpressionType.IsReachableNodes || type == SequenceExpressionType.IsReachableNodesViaIncoming || type == SequenceExpressionType.IsReachableNodesViaOutgoing)
         && !(type == SequenceExpressionType.IsReachableEdges || type == SequenceExpressionType.IsReachableEdgesViaIncoming || type == SequenceExpressionType.IsReachableEdgesViaOutgoing))
         throw new Exception("Internal failure, reachable with wrong type");
 }
コード例 #21
0
 public SequenceExpressionCopy(SequenceExpression objectToBeCopied)
     : base(SequenceExpressionType.Copy)
 {
     ObjectToBeCopied = objectToBeCopied;
 }
コード例 #22
0
 public SequenceExpressionInducedSubgraph(SequenceExpression nodeSet)
     : base(SequenceExpressionType.InducedSubgraph)
 {
     NodeSet = nodeSet;
 }
コード例 #23
0
 public SequenceExpressionNotEqual(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.NotEqual, left, right)
 {
 }
コード例 #24
0
 public SequenceExpressionDefinedSubgraph(SequenceExpression edgeSet)
     : base(SequenceExpressionType.DefinedSubgraph)
 {
     EdgeSet = edgeSet;
 }
コード例 #25
0
 public SequenceExpressionGreaterEqual(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.GreaterEqual, left, right)
 {
 }
コード例 #26
0
 public SequenceExpressionEqualsAny(SequenceExpression subgraph, SequenceExpression subgraphSet, bool includingAttributes)
     : base(SequenceExpressionType.EqualsAny)
 {
     Subgraph = subgraph;
     SubgraphSet = subgraphSet;
     IncludingAttributes = includingAttributes;
 }
コード例 #27
0
 public SequenceExpressionMul(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.Mul, left, right)
 {
 }
コード例 #28
0
 public SequenceExpressionCanonize(SequenceExpression graph)
     : base(SequenceExpressionType.Canonize)
 {
     Graph = graph;
 }
コード例 #29
0
 public SequenceExpressionMod(SequenceExpression left, SequenceExpression right)
     : base(SequenceExpressionType.Mod, left, right)
 {
 }
コード例 #30
0
 public SequenceExpressionNameof(SequenceExpression namedEntity)
     : base(SequenceExpressionType.Nameof)
 {
     NamedEntity = namedEntity; // might be null
 }