public AssignmentStatementAst(IScriptExtent extent, ExpressionAst left, TokenKind @operator, StatementAst right, IScriptExtent errorPosition) : base(extent) { if (((left == null) || (right == null)) || (errorPosition == null)) { throw PSTraceSource.NewArgumentNullException((left == null) ? "left" : ((right == null) ? "right" : "errorPosition")); } if ((@operator.GetTraits() & TokenFlags.AssignmentOperator) == TokenFlags.None) { throw PSTraceSource.NewArgumentException("operator"); } PipelineAst ast = right as PipelineAst; if ((ast != null) && (ast.PipelineElements.Count == 1)) { CommandExpressionAst ast2 = ast.PipelineElements[0] as CommandExpressionAst; if (ast2 != null) { right = ast2; right.ClearParent(); } } this.Operator = @operator; this.Left = left; base.SetParent(left); this.Right = right; base.SetParent(right); this.ErrorPosition = errorPosition; }
public BinaryExpressionAst(IScriptExtent extent, ExpressionAst left, TokenKind @operator, ExpressionAst right, IScriptExtent errorPosition) : base(extent) { if ((@operator.GetTraits() & TokenFlags.BinaryOperator) == TokenFlags.None) { throw PSTraceSource.NewArgumentException("operator"); } if (((left == null) || (right == null)) || (errorPosition == null)) { throw PSTraceSource.NewArgumentNullException((left == null) ? "left" : ((right == null) ? "right" : "errorPosition")); } this.Left = left; base.SetParent(left); this.Operator = @operator; this.Right = right; base.SetParent(right); this.ErrorPosition = errorPosition; }
public void Traits(TokenKind kind, TokenKindTraits traits) { Assert.That(kind.GetTraits(), Is.EqualTo(traits)); Assert.That(kind.HasTraits(traits), Is.True); Assert.That(kind.HasTraits(~traits), Is.False); }
internal Token(InternalScriptExtent scriptExtent, TokenKind kind, TokenFlags tokenFlags) { _scriptExtent = scriptExtent; _kind = kind; _tokenFlags = tokenFlags | kind.GetTraits(); }
internal Token(InternalScriptExtent scriptExtent, TokenKind kind, System.Management.Automation.Language.TokenFlags tokenFlags) { this._scriptExtent = scriptExtent; this._kind = kind; this._tokenFlags = tokenFlags | kind.GetTraits(); }
internal CustomToken(InternalScriptExtent scriptExtent, TokenKind kind, TokenFlags tokenFlags) { _scriptExtent = scriptExtent; _kind = kind; _tokenFlags = (tokenFlags | kind.GetTraits()); }
public static bool HasTrait(this TokenKind kind, TokenFlags flag) { return((kind.GetTraits() & flag) != TokenFlags.None); }
public static bool HasTraits(this TokenKind kind, TokenKindTraits traits) => (kind.GetTraits() & traits) == traits;