本文整理汇总了C#中PrefixUnaryExpressionSyntax类的典型用法代码示例。如果您正苦于以下问题:C# PrefixUnaryExpressionSyntax类的具体用法?C# PrefixUnaryExpressionSyntax怎么用?C# PrefixUnaryExpressionSyntax使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
PrefixUnaryExpressionSyntax类属于命名空间,在下文中一共展示了PrefixUnaryExpressionSyntax类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: VisitPrefixUnaryExpression
public override void VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
if (node.Kind() != SyntaxKind.LogicalNotExpression)
{
throw new InvalidPreprocessorExpressionException("Expected logical not expression");
}
node.Operand.Accept(this);
}
开发者ID:transformersprimeabcxyz,项目名称:_TO-DO-codeformatter-dotnet,代码行数:9,代码来源:PreprocessorSymbolTracker.cs
示例2: GetExpression
private static void GetExpression(PrefixUnaryExpressionSyntax prefix, out ExpressionSyntax expression, out uint count)
{
count = 0;
var currentUnary = prefix;
do
{
count++;
expression = currentUnary.Operand;
currentUnary = currentUnary.Operand as PrefixUnaryExpressionSyntax;
}
while (currentUnary != null);
}
开发者ID:roel4ez,项目名称:sonarlint-vs,代码行数:12,代码来源:UnaryPrefixOperatorRepeatedCodeFixProvider.cs
示例3: VisitPrefixUnaryExpression
public override SyntaxNode VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
switch (node.Kind)
{
case SyntaxKind.PreIncrementExpression:
return Syntax.BinaryExpression(SyntaxKind.AddAssignExpression, node.Operand, Syntax.LiteralExpression(SyntaxKind.NumericLiteralExpression, Syntax.Literal(1)));
case SyntaxKind.PreDecrementExpression:
return Syntax.BinaryExpression(SyntaxKind.SubtractAssignExpression, node.Operand, Syntax.LiteralExpression(SyntaxKind.NumericLiteralExpression, Syntax.Literal(1)));
case SyntaxKind.NegateExpression:
if (node.Operand.Kind == SyntaxKind.NumericLiteralExpression)
{
dynamic newvalue = -((dynamic)((LiteralExpressionSyntax)node.Operand).Token.Value);
return Syntax.LiteralExpression(SyntaxKind.NumericLiteralExpression, Syntax.Literal(newvalue));
}
return node;
}
throw new NotImplementedException("Unary prefix " + node.Kind.ToString());
}
开发者ID:VendanAndrews,项目名称:ls2csc,代码行数:18,代码来源:UnaryToBinaryRewriter.cs
示例4: VisitPrefixUnaryExpression
public override SyntaxNode VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
switch (node.CSharpKind())
{
case SyntaxKind.PreIncrementExpression:
return SyntaxFactory.BinaryExpression(SyntaxKind.AddAssignmentExpression, node.Operand, SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(1)));
case SyntaxKind.PreDecrementExpression:
return SyntaxFactory.BinaryExpression(SyntaxKind.SubtractAssignmentExpression, node.Operand, SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(1)));
#if NEGATE_EXPRESSION
case SyntaxKind.NegateExpression:
if (node.Operand.CSharpKind() == SyntaxKind.NumericLiteralExpression)
{
dynamic newvalue = -((dynamic)((LiteralExpressionSyntax)node.Operand).Token.Value);
return SyntaxFactory.LiteralExpression(SyntaxKind.NumericLiteralExpression, SyntaxFactory.Literal(newvalue));
}
return node;
#endif
case SyntaxKind.LogicalNotExpression:
return SyntaxFactory.BinaryExpression(SyntaxKind.NotEqualsExpression, node.Operand, SyntaxFactory.LiteralExpression(SyntaxKind.TrueLiteralExpression));
}
throw new NotImplementedException("Unary prefix " + node.CSharpKind().ToString());
}
开发者ID:LaxLacks,项目名称:ls2csc,代码行数:22,代码来源:UnaryToBinaryRewriter.cs
示例5: VisitPrefixUnaryExpression
public virtual void VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
DefaultVisit(node);
}
开发者ID:tgjones,项目名称:HlslTools,代码行数:4,代码来源:SyntaxVisitor.cs
示例6: TopLevelUnaryInChain
private static bool TopLevelUnaryInChain(PrefixUnaryExpressionSyntax unary)
{
var parent = unary.Parent as PrefixUnaryExpressionSyntax;
return parent == null || !SameOperators(parent, unary);
}
开发者ID:roel4ez,项目名称:sonarlint-vs,代码行数:5,代码来源:UnaryPrefixOperatorRepeated.cs
示例7: PrefixUnaryExpressionTranslation
public PrefixUnaryExpressionTranslation(PrefixUnaryExpressionSyntax syntax, SyntaxTranslation parent) : base(syntax, parent)
{
Operand = syntax.Operand.Get<ExpressionTranslation>(this);
}
开发者ID:asthomas,项目名称:TypescriptSyntaxPaste,代码行数:4,代码来源:PrefixUnaryExpressionTranslation.cs
示例8: RewriteExpression
/// <summary>
/// Rewrites the expression with a nondetermnistic choice expression.
/// </summary>
/// <param name="node">PrefixUnaryExpressionSyntax</param>
/// <returns>SyntaxNode</returns>
private SyntaxNode RewriteExpression(PrefixUnaryExpressionSyntax node)
{
var text = "this.Nondet()";
var rewritten = SyntaxFactory.ParseExpression(text);
return rewritten;
}
开发者ID:jerickmsft,项目名称:PSharp,代码行数:11,代码来源:NondeterministicChoiceRewriter.cs
示例9: GetAwaitExpressionInfo
public override AwaitExpressionInfo GetAwaitExpressionInfo(PrefixUnaryExpressionSyntax node)
{
using (Logger.LogBlock(FunctionId.CSharp_SemanticModel_GetAwaitExpressionInfo, message: this.SyntaxTree.FilePath))
{
MemberSemanticModel memberModel = GetMemberModel(node);
return memberModel == null ? default(AwaitExpressionInfo) : memberModel.GetAwaitExpressionInfo(node);
}
}
开发者ID:modulexcite,项目名称:pattern-matching-csharp,代码行数:8,代码来源:SyntaxTreeSemanticModel.cs
示例10: VisitPrefixUnaryExpression
public override void VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
base.VisitPrefixUnaryExpression(node);
if (node.IsKind(SyntaxKind.AddressOfExpression) || node.IsKind(SyntaxKind.PointerIndirectionExpression)) // TODO: Check
MarkUnsafe();
}
开发者ID:alecor191,项目名称:RefactoringEssentials,代码行数:6,代码来源:RedundantUnsafeContextAnalyzer.cs
示例11: PrefixUnaryExpression
public static string PrefixUnaryExpression(PrefixUnaryExpressionSyntax expression)
{
return expression.OperatorToken.Text + SyntaxNode(expression.Operand);
}
开发者ID:UIKit0,项目名称:SharpSwift,代码行数:4,代码来源:ExpressionSyntaxParser.cs
示例12: VisitPrefixUnaryExpression
public override SyntaxNode VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
if (IsPropertyAccess(node.Operand))
this.AppendCompileIssue(node, IssueType.Error, IssueId.PropertyAccessIssue);
_output.Write(node, node.OperatorToken.ValueText);
this.Visit(node.Operand);
return node;
}
开发者ID:rexzh,项目名称:SharpJs,代码行数:10,代码来源:Rewriter_Expression.cs
示例13: VisitPrefixUnaryExpression
protected override SyntaxNode VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
IdentifierNameSyntax name = node.Operand as IdentifierNameSyntax;
if (name != null)
{
switch (node.Kind)
{
case SyntaxKind.PreIncrementExpression:
case SyntaxKind.PreDecrementExpression:
return GetLogExpression (name.PlainName, node);
}
}
return base.VisitPrefixUnaryExpression (node);
}
开发者ID:Auxon,项目名称:Instant,代码行数:15,代码来源:LoggingRewriter.cs
示例14: VisitPrefixUnaryExpression
public override SyntaxNode VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
var based = base.VisitPrefixUnaryExpression (node);
switch (node.Kind)
{
case SyntaxKind.PreIncrementExpression:
case SyntaxKind.PreDecrementExpression:
return based.WithTrailingTrivia (based.GetTrailingTrivia().Prepend (GetIdComment()));
default:
return based;
}
}
开发者ID:ermau,项目名称:Instant,代码行数:13,代码来源:IdentifyingVisitor.cs
示例15: AddPrefixUnaryExpressionTerms
private static void AddPrefixUnaryExpressionTerms(PrefixUnaryExpressionSyntax prefixUnaryExpression, IList<string> terms, ref ExpressionType expressionType)
{
expressionType = ExpressionType.Invalid;
var flags = ExpressionType.Invalid;
// Ask our subexpression for terms
AddSubExpressionTerms(prefixUnaryExpression.Operand, terms, ref flags);
// Is our expression a valid term?
AddIfValidTerm(prefixUnaryExpression.Operand, flags, terms);
if (prefixUnaryExpression.IsKind(SyntaxKind.LogicalNotExpression, SyntaxKind.BitwiseNotExpression, SyntaxKind.UnaryMinusExpression, SyntaxKind.UnaryPlusExpression))
{
// We're a valid expression if our subexpression is...
expressionType = flags & ExpressionType.ValidExpression;
}
}
开发者ID:vslsnap,项目名称:roslyn,代码行数:17,代码来源:CSharpProximityExpressionsService_ExpressionTermCollector.cs
示例16: InferTypeInPrefixUnaryExpression
private IEnumerable<ITypeSymbol> InferTypeInPrefixUnaryExpression(PrefixUnaryExpressionSyntax prefixUnaryExpression, SyntaxToken? previousToken = null)
{
// If we have a position, then we must be after the prefix token.
Contract.ThrowIfTrue(previousToken.HasValue && previousToken.Value != prefixUnaryExpression.OperatorToken);
switch (prefixUnaryExpression.CSharpKind())
{
case SyntaxKind.AwaitExpression:
// await <expression>
var types = InferTypes(prefixUnaryExpression);
var task = this.Compilation.TaskType();
var taskOfT = this.Compilation.TaskOfTType();
if (task == null || taskOfT == null)
{
break;
}
if (!types.Any())
{
return SpecializedCollections.SingletonEnumerable(task);
}
return types.Select(t => t.SpecialType == SpecialType.System_Void ? task : taskOfT.Construct(t));
case SyntaxKind.PreDecrementExpression:
case SyntaxKind.PreIncrementExpression:
case SyntaxKind.UnaryPlusExpression:
case SyntaxKind.UnaryMinusExpression:
case SyntaxKind.BitwiseNotExpression:
// ++, --, +Foo(), -Foo(), ~Foo();
return SpecializedCollections.SingletonEnumerable(this.Compilation.GetSpecialType(SpecialType.System_Int32));
case SyntaxKind.LogicalNotExpression:
// !Foo()
return SpecializedCollections.SingletonEnumerable(this.Compilation.GetSpecialType(SpecialType.System_Boolean));
}
return SpecializedCollections.EmptyEnumerable<ITypeSymbol>();
}
开发者ID:jerriclynsjohn,项目名称:roslyn,代码行数:41,代码来源:CSharpTypeInferenceService.TypeInferrer.cs
示例17: UnaryExpression
/// <summary>
/// Initializes a new instance of the <see cref="UnaryExpression"/> class.
/// </summary>
/// <param name="syntaxNode"></param>
public UnaryExpression(PrefixUnaryExpressionSyntax syntaxNode)
: this(syntaxNode, null)
{
}
开发者ID:andry-tino,项目名称:Rosetta,代码行数:8,代码来源:UnaryExpression.cs
示例18: GetAwaitExpressionInfo
public override AwaitExpressionInfo GetAwaitExpressionInfo(PrefixUnaryExpressionSyntax node)
{
if (node.Kind != SyntaxKind.AwaitExpression)
{
throw new ArgumentException("node.Kind==" + node.Kind);
}
BoundAwaitExpression boundAwait = GetUpperBoundNode(node) as BoundAwaitExpression;
if (boundAwait == null)
{
return default(AwaitExpressionInfo);
}
return new AwaitExpressionInfo(boundAwait.GetAwaiter, boundAwait.IsCompleted, boundAwait.GetResult, boundAwait.IsDynamic);
}
开发者ID:modulexcite,项目名称:pattern-matching-csharp,代码行数:15,代码来源:MemberSemanticModel.cs
示例19: VisitPrefixUnaryExpression
public override void VisitPrefixUnaryExpression(PrefixUnaryExpressionSyntax node)
{
base.VisitPrefixUnaryExpression(node);
var op = node.OperatorToken.ValueText;
expression = Expression.MakeUnary(unaryOps[op], expression, null);
}
开发者ID:john-guo,项目名称:hodgepodge,代码行数:7,代码来源:ExpressionVisitor.cs
示例20: GetIdentifierFromPrefixOperand
private static string GetIdentifierFromPrefixOperand(PrefixUnaryExpressionSyntax expression) =>
GetIdentifierFromIdentifierNameSyntax((IdentifierNameSyntax)expression.Operand);
开发者ID:DavidArno,项目名称:Arnolyzer,代码行数:2,代码来源:VariableMutations.cs
注:本文中的PrefixUnaryExpressionSyntax类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论