コード例 #1
0
ファイル: StateTransition.cs プロジェクト: yonglehou/PSharp
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="targetState">MachineState</param>
 /// <param name="state">MachineState</param>
 /// <param name="context">AnalysisContext</param>
 internal StateTransition(MachineState targetState, MachineState state,
     AnalysisContext context)
 {
     this.AnalysisContext = context;
     this.State = state;
     this.TargetState = targetState;
 }
コード例 #2
0
ファイル: MachineAction.cs プロジェクト: yonglehou/PSharp
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="methodDecl">MethodDeclarationSyntax</param>
 /// <param name="state">MachineState</param>
 /// <param name="context">AnalysisContext</param>
 internal MachineAction(MethodDeclarationSyntax methodDecl, MachineState state,
     AnalysisContext context)
 {
     this.AnalysisContext = context;
     this.State = state;
     this.Name = this.AnalysisContext.GetFullMethodName(methodDecl);
     this.MethodDeclaration = methodDecl;
 }
コード例 #3
0
ファイル: TraceInfo.cs プロジェクト: yonglehou/PSharp
        /// <summary>
        /// Constructor.
        /// </summary>
        /// <param name="method">BaseMethodDeclarationSyntax</param>
        /// <param name="machine">StateMachine</param>
        /// <param name="state">MachineState</param>
        /// <param name="payload">ISymbol</param>
        internal TraceInfo(BaseMethodDeclarationSyntax method, StateMachine machine,
            MachineState state, ISymbol payload)
        {
            this.ErrorTrace = new List<ErrorTraceStep>();
            this.CallTrace = new List<CallTraceStep>();

            if (method == null)
            {
                this.Method = null;
            }
            else if (method is MethodDeclarationSyntax)
            {
                this.Method = (method as MethodDeclarationSyntax).Identifier.ValueText;
            }
            else if (method is ConstructorDeclarationSyntax)
            {
                this.Method = (method as ConstructorDeclarationSyntax).Identifier.ValueText;
            }

            if (machine == null)
            {
                this.Machine = null;
            }
            else
            {
                this.Machine = machine.Name;
            }

            if (state == null)
            {
                this.State = null;
            }
            else
            {
                this.State = state.Name;
            }

            if (payload == null)
            {
                this.Payload = null;
            }
            else
            {
                this.Payload = payload.Name;
            }
        }
コード例 #4
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="methodDecl">MethodDeclarationSyntax</param>
 /// <param name="state">MachineState</param>
 /// <param name="context">AnalysisContext</param>
 internal OnExitMachineAction(MethodDeclarationSyntax methodDecl, MachineState state,
     AnalysisContext context)
     : base(methodDecl, state, context)
 {
 }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="OnEventPushMachineAction"/> class.
 /// </summary>
 internal OnEventPushMachineAction(MethodDeclarationSyntax methodDecl, MachineState state)
     : base(methodDecl, state)
 {
 }
コード例 #6
0
ファイル: MachineAction.cs プロジェクト: p-org/PSharp
 /// <summary>
 /// Initializes a new instance of the <see cref="MachineAction"/> class.
 /// </summary>
 internal MachineAction(MethodDeclarationSyntax methodDecl, MachineState state)
 {
     this.State             = state;
     this.Name              = AnalysisContext.GetFullMethodName(methodDecl);
     this.MethodDeclaration = methodDecl;
 }
コード例 #7
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="methodDecl">MethodDeclarationSyntax</param>
 /// <param name="state">MachineState</param>
 /// <param name="context">AnalysisContext</param>
 internal OnEntryMachineAction(MethodDeclarationSyntax methodDecl, MachineState state,
                               AnalysisContext context)
     : base(methodDecl, state, context)
 {
 }
コード例 #8
0
ファイル: StateTransition.cs プロジェクト: p-org/PSharp
 /// <summary>
 /// Initializes a new instance of the <see cref="StateTransition"/> class.
 /// </summary>
 internal StateTransition(MachineState targetState, MachineState state, AnalysisContext context)
 {
     this.AnalysisContext = context;
     this.State           = state;
     this.TargetState     = targetState;
 }