private Doc PrintPointerTypeSyntax(PointerTypeSyntax node) { return(Concat( this.Print(node.ElementType), this.PrintSyntaxToken(node.AsteriskToken) )); }
public override void VisitPointerType(PointerTypeSyntax node) { Information.Add(InfoExtractor.Info.TYPE, node); node.ElementType?.Accept(this); base.VisitPointerType(node); }
public override void VisitPointerType(PointerTypeSyntax node) { if (!PreVisit(node)) { return; } node.ElementType?.Accept(this); base.VisitPointerType(node); PostVisit(node); }
public TypeStructure ConvertTypeStructure(TypeSyntax syntax) { return(syntax switch { PredefinedTypeSyntax ptSyntax => ToPredefinedIdentifierStructure(ptSyntax.Keyword.Text), IdentifierNameSyntax inSyntax => ToIdentifierStructure(inSyntax, _typeLocator), QualifiedNameSyntax qnSyntax => ToIdentifierStructure(qnSyntax), GenericNameSyntax gnSyntax => ToGenericTypeStructure(gnSyntax), ArrayTypeSyntax atSyntax => ToArrayTypeStructure(atSyntax), PointerTypeSyntax ptSyntax => ToPointerTypeStructure(ptSyntax), NullableTypeSyntax ntSyntax => ToNullableTypeStructure(ntSyntax), TupleTypeSyntax ttSyntax => ToTupleTypeStructure(ttSyntax), _ => throw new ArgumentException(syntax.GetType().ToString()) });
public static TRoot ReplaceAndTrackType <TRoot>(this TRoot node, TypeSyntax targetType, SyntaxNode sourceType, SemanticModel semanticModel, ICollection <INamedTypeSymbol> discoveredTypes) where TRoot : SyntaxNode { // Skip immediately for function pointers if (sourceType is FunctionPointerTypeSyntax) { return(node.ReplaceNode(targetType, ParseTypeName("void*"))); } // Handle the various possible type kinds ITypeSymbol typeSymbol = sourceType switch { RefTypeSyntax refType => semanticModel.GetTypeInfo(refType.Type).Type !, PointerTypeSyntax pointerType => semanticModel.GetTypeInfo(pointerType.ElementType).Type !, _ => semanticModel.GetTypeInfo(sourceType).Type ! }; // Do nothing if the type is just void if (typeSymbol.SpecialType == SpecialType.System_Void) { return(node); } string typeName = typeSymbol.ToDisplayString(ISymbolExtensions.FullyQualifiedWithoutGlobalFormat); discoveredTypes.Add((INamedTypeSymbol)typeSymbol); if (HlslKnownTypes.TryGetMappedName(typeName, out string?mappedName)) { TypeSyntax newType = ParseTypeName(mappedName !); return(node.ReplaceNode(targetType, newType)); } return(node.ReplaceNode(targetType, ParseTypeName(typeName.Replace(".", "__")))); }
public override void VisitPointerType(PointerTypeSyntax node) { throw new NotImplementedException(); }
/// <inheritdoc/> public override SyntaxNode?VisitPointerType(PointerTypeSyntax node) { Diagnostics.Add(PointerType, node); return(base.VisitPointerType(node)); }
public override SyntaxNode VisitPointerType(PointerTypeSyntax node) => ProcessTypeSyntax(node);
// 指针类型 public virtual void VisitPointerTypeSyntax(PointerTypeSyntax value) { DefaultVisit(value); }
public override SyntaxNode VisitPointerType(PointerTypeSyntax node) { node = (PointerTypeSyntax)base.VisitPointerType(node); Classes.Add(node); return(node); }
public override Evaluation VisitPointerType(PointerTypeSyntax node) { node.ElementType?.Accept <Evaluation>(this); return(base.VisitPointerType(node)); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitPointerType(PointerTypeSyntax node) { this.OnNodeVisited(node, this.type.IsInstanceOfType(node)); base.VisitPointerType(node); }
/// <summary> /// /// </summary> /// <param name="node"></param> public override sealed void VisitPointerType(PointerTypeSyntax node) { this.OnNodeVisited(node); if (!this.traverseRootOnly) base.VisitPointerType(node); }
public TamePointerTypeSyntax(PointerTypeSyntax node) { Node = node; AddChildren(); }
public static Doc Print(PointerTypeSyntax node) { return(Doc.Concat(Node.Print(node.ElementType), Token.Print(node.AsteriskToken))); }
/// <inheritdoc/> public override SyntaxNode?VisitPointerType(PointerTypeSyntax node) { Context.ReportDiagnostic(PointerType, node); return(base.VisitPointerType(node)); }
public override void VisitPointerType(PointerTypeSyntax node) { ContainsUnsafe = true; }
public PointerNativeTypeAssignmentRewriter(string nativeIdentifier, PointerTypeSyntax nativeType) { _nativeIdentifier = nativeIdentifier; _nativeType = nativeType; }
public PointerTypeTranslation(PointerTypeSyntax syntax, SyntaxTranslation parent) : base(syntax, parent) { }
public override void VisitPointerType(PointerTypeSyntax node) { _seenConstructed = true; Visit(node.ElementType); }
// // Summary: // Called when the visitor visits a PointerTypeSyntax node. public virtual void VisitPointerType(PointerTypeSyntax node);
public override void VisitPointerType(PointerTypeSyntax node) { base.VisitPointerType(node); MarkUnsafe(); }
public override void VisitPointerType(PointerTypeSyntax node) { this.seenConstructed = true; Visit(node.ElementType); }
public override Ust VisitPointerType(PointerTypeSyntax node) { var result = ConvertType(base.Visit(node.ElementType)); return(result); }
public override void VisitPointerType(PointerTypeSyntax node) { }
public override void VisitPointerType(PointerTypeSyntax node) { Log(node, "Unsupported Syntax !"); }
public override Expr VisitPointerType(PointerTypeSyntax node) { return(base.VisitPointerType(node)); }