public override void VisitTypeParameterDeclaration(TypeParameterDeclaration decl) { base.VisitTypeParameterDeclaration(decl); var resolveResult = ctx.Resolve(decl) as TypeResolveResult; if (resolveResult == null) { return; } var typeParameter = resolveResult.Type as ITypeParameter; if (typeParameter == null) { return; } var methodDecl = decl.Parent as MethodDeclaration; if (methodDecl == null) { return; } if (FindUsage(ctx, unit, typeParameter, decl)) { return; } AddIssue(decl.NameToken, ctx.TranslateString("Type parameter is never used")); }
TypeParameterDeclaration ConvertTypeParameter(ITypeParameter tp) { TypeParameterDeclaration decl = new TypeParameterDeclaration(); decl.Variance = tp.Variance; decl.Name = tp.Name; return(decl); }
public override void VisitTypeParameterDeclaration(TypeParameterDeclaration declaration) { base.VisitTypeParameterDeclaration(declaration); try{ intermediary.Add(declaration.Name, "generic_" + genericIndex); genericIndex++; }catch (ArgumentException) {} }
TypeParameterDeclaration ConvertTypeParameter(ITypeParameter tp) { TypeParameterDeclaration decl = new TypeParameterDeclaration(); decl.Variance = tp.Variance; decl.Name = tp.Name; if (ShowAttributes) decl.Attributes.AddRange (tp.Attributes.Select ((a) => new AttributeSection (ConvertAttribute (a)))); return decl; }
void HandleVisitorTypeParameterDeclarationVisited(TypeParameterDeclaration node, InspectionData data) { foreach (var rule in policy.Rules) { if (rule.CheckTypeParameter(node, data)) { return; } } }
public UnifiedElement VisitTypeParameterDeclaration( TypeParameterDeclaration dec, object data) { var type = UnifiedType.Create(dec.Name); var modifiers = null as UnifiedSet <UnifiedModifier>; switch (dec.Variance) { case VarianceModifier.Contravariant: modifiers = UnifiedModifier.Create("in").ToSet(); break; case VarianceModifier.Covariant: modifiers = UnifiedModifier.Create("out").ToSet(); break; } return(UnifiedGenericParameter.Create( type, /*constraint*/ null, modifiers)); }
public override void VisitTypeParameterDeclaration (TypeParameterDeclaration decl) { base.VisitTypeParameterDeclaration (decl); var resolveResult = ctx.Resolve (decl) as TypeResolveResult; if (resolveResult == null) return; var typeParameter = resolveResult.Type as ITypeParameter; if (typeParameter == null) return; var methodDecl = decl.Parent as MethodDeclaration; if (methodDecl == null) return; if (FindUsage (ctx, unit, typeParameter, decl)) return; AddIssue (decl.NameToken, ctx.TranslateString ("Type parameter is never used")); }
public override void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { if (typeParameterDeclaration.Variance == VarianceModifier.Contravariant) { Colorize(typeParameterDeclaration.VarianceToken, parameterModifierColor); } // bool isValueType = false; // if (typeParameterDeclaration.Parent != null) { // foreach (var constraint in typeParameterDeclaration.Parent.GetChildrenByRole(Roles.Constraint)) { // if (constraint.TypeParameter.Identifier == typeParameterDeclaration.Name) { // isValueType = constraint.BaseTypes.OfType<PrimitiveType>().Any(p => p.Keyword == "struct"); // } // } // } var nameToken = typeParameterDeclaration.NameToken; VisitChildrenUntil(typeParameterDeclaration, nameToken); Colorize(nameToken, typeParameterTypeColor); /*isValueType ? valueTypeColor : referenceTypeColor*/ VisitChildrenAfter(typeParameterDeclaration, nameToken); }
void HandleVisitorTypeParameterDeclarationVisited (TypeParameterDeclaration node, InspectionData data) { foreach (var rule in policy.Rules) { if (rule.CheckTypeParameter (node, data)) return; } }
protected virtual IEnumerable <Syntax> TranslateTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, ILTranslationContext data) { throw new NotSupportedException(); }
/// <summary> /// Return the zero-based index of the first occurrence of a specific value /// in this TypeParameterDeclarationCollection /// </summary> /// <param name="value"> /// The ITypeParameterDeclaration value to locate in the TypeParameterDeclarationCollection. /// </param> /// <returns> /// The zero-based index of the first occurrence of the _ELEMENT value if found; /// -1 otherwise. /// </returns> public virtual int IndexOf(TypeParameterDeclaration value) { return(this.List.IndexOf(value)); }
TypeParameterDeclaration ConvertTypeParameter(ITypeParameter tp) { TypeParameterDeclaration decl = new TypeParameterDeclaration(); decl.Variance = tp.Variance; decl.Name = tp.Name; return decl; }
public override void VisitTypeParameterDeclaration(TypeParameterDeclaration syntax) { _underlyingVisitor.VisitTypeParameterDeclaration(syntax); }
/// <summary> /// Adds an instance of type ITypeParameterDeclaration to the end of this TypeParameterDeclarationCollection. /// </summary> /// <param name="value"> /// The ITypeParameterDeclaration to be added to the end of this TypeParameterDeclarationCollection. /// </param> public virtual void Add(TypeParameterDeclaration value) { this.List.Add(value); }
public StringBuilder VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, int data) { throw new NotSupportedException(); }
IEnumerable<TypeParameterDeclaration> MakeTypeParameters(IEnumerable<GenericParameter> genericParameters) { foreach (var gp in genericParameters) { TypeParameterDeclaration tp = new TypeParameterDeclaration(); tp.Name = CleanName(gp.Name); if (gp.IsContravariant) tp.Variance = VarianceModifier.Contravariant; else if (gp.IsCovariant) tp.Variance = VarianceModifier.Covariant; ConvertCustomAttributes(tp, gp); yield return tp; } }
public void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { throw new NotImplementedException(); }
public object VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, object data) { throw new NotImplementedException(); }
public void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { JsonObject declaration = new JsonObject(); declaration.Comment = "VisitTypeParameterDeclaration"; declaration.AddJsonValue("attributes", GetAttributes(typeParameterDeclaration.Attributes)); switch (typeParameterDeclaration.Variance) { case VarianceModifier.Invariant: break; case VarianceModifier.Covariant: declaration.AddJsonValue("keyword", GetKeyword(TypeParameterDeclaration.OutVarianceKeywordRole)); break; case VarianceModifier.Contravariant: declaration.AddJsonValue("keyword", GetKeyword(TypeParameterDeclaration.InVarianceKeywordRole)); break; default: throw new NotSupportedException("Invalid value for VarianceModifier"); } declaration.AddJsonValue("identifier", GetIdentifier(typeParameterDeclaration.NameToken)); Push(declaration); }
public Node VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { return(CreateDummy(typeParameterDeclaration)); }
/// <inheritdoc/> public virtual void VisitTypeParameterDeclaration(TypeParameterDeclaration syntax) { VisitNode(syntax); }
public StringBuilder VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { throw new NotImplementedException(); }
public virtual void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { //throw this.CreateException(typeParameterDeclaration); }
public JNode VisitTypeParameterDeclaration(TypeParameterDeclaration node) { throw new NotImplementedException(); }
void AddTypeParameters (AstNode parent, List<Location> location, Mono.CSharp.TypeArguments typeArguments) { if (typeArguments == null || typeArguments.IsEmpty) return; for (int i = 0; i < typeArguments.Count; i++) { if (location != null && i > 0 && i - 1 < location.Count) parent.AddChild (new CSharpTokenNode (Convert (location[i - 1]), 1), InvocationExpression.Roles.Comma); var arg = (TypeParameterName)typeArguments.Args[i]; if (arg == null) continue; TypeParameterDeclaration tp = new TypeParameterDeclaration(); // TODO: attributes switch (arg.Variance) { case Variance.Covariant: tp.Variance = VarianceModifier.Covariant; break; case Variance.Contravariant: tp.Variance = VarianceModifier.Contravariant; break; } tp.AddChild (Identifier.Create (arg.Name, Convert (arg.Location)), InvocationExpression.Roles.Identifier); parent.AddChild (tp, InvocationExpression.Roles.TypeParameter); } }
public void VisitTypeParameterDeclaration(TypeParameterDeclaration node) { VisitChildren(node); }
/// <summary> /// Removes the first occurrence of a specific ITypeParameterDeclaration from this TypeParameterDeclarationCollection. /// </summary> /// <param name="value"> /// The ITypeParameterDeclaration value to remove from this TypeParameterDeclarationCollection. /// </param> public virtual void Remove(TypeParameterDeclaration value) { this.List.Remove(value); }
void AddTypeParameters(AstNode parent, MemberName memberName) { if (memberName == null || memberName.TypeParameters == null) return; var chevronLocs = LocationsBag.GetLocations(memberName.TypeParameters); if (chevronLocs != null) parent.AddChild(new CSharpTokenNode(Convert(chevronLocs [chevronLocs.Count - 2]), Roles.LChevron), Roles.LChevron); for (int i = 0; i < memberName.TypeParameters.Count; i++) { if (chevronLocs != null && i > 0 && i - 1 < chevronLocs.Count) parent.AddChild(new CSharpTokenNode(Convert(chevronLocs [i - 1]), Roles.Comma), Roles.Comma); var arg = memberName.TypeParameters [i]; if (arg == null) continue; var tp = new TypeParameterDeclaration(); List<Location> varianceLocation; switch (arg.Variance) { case Variance.Contravariant: tp.Variance = VarianceModifier.Contravariant; varianceLocation = LocationsBag.GetLocations(arg); if (varianceLocation != null) tp.AddChild(new CSharpTokenNode(Convert(varianceLocation [0]), TypeParameterDeclaration.InVarianceKeywordRole), TypeParameterDeclaration.InVarianceKeywordRole); break; case Variance.Covariant: tp.Variance = VarianceModifier.Covariant; varianceLocation = LocationsBag.GetLocations(arg); if (varianceLocation != null) tp.AddChild(new CSharpTokenNode(Convert(varianceLocation [0]), TypeParameterDeclaration.OutVarianceKeywordRole), TypeParameterDeclaration.OutVarianceKeywordRole); break; default: tp.Variance = VarianceModifier.Invariant; break; } AddAttributeSection(tp, arg.OptAttributes); switch (arg.Variance) { case Variance.Covariant: tp.Variance = VarianceModifier.Covariant; break; case Variance.Contravariant: tp.Variance = VarianceModifier.Contravariant; break; } tp.AddChild(Identifier.Create(arg.Name, Convert(arg.Location)), Roles.Identifier); parent.AddChild(tp, Roles.TypeParameter); } if (chevronLocs != null) parent.AddChild(new CSharpTokenNode(Convert(chevronLocs [chevronLocs.Count - 1]), Roles.RChevron), Roles.RChevron); }
/// <summary> /// Determines whether a specfic ITypeParameterDeclaration value is in this TypeParameterDeclarationCollection. /// </summary> /// <param name="value"> /// The ITypeParameterDeclaration value to locate in this TypeParameterDeclarationCollection. /// </param> /// <returns> /// true if value is found in this TypeParameterDeclarationCollection; /// false otherwise. /// </returns> public virtual bool Contains(TypeParameterDeclaration value) { return(this.List.Contains(value)); }
public override AstNode VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, ICecilArgumentsResolver argumentsResolver) { return(typeParameterDeclaration); }
/// <summary> /// Inserts an element into the TypeParameterDeclarationCollection at the specified index /// </summary> /// <param name="index"> /// The index at which the ITypeParameterDeclaration is to be inserted. /// </param> /// <param name="value"> /// The ITypeParameterDeclaration to insert. /// </param> public virtual void Insert(int index, TypeParameterDeclaration value) { this.List.Insert(index, value); }
public virtual Node VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { throw new System.NotImplementedException(); }
void AddTypeParameters (AstNode parent, Mono.CSharp.TypeArguments typeArguments) { if (typeArguments == null || typeArguments.IsEmpty) return; var chevronLocs = LocationsBag.GetLocations (typeArguments); if (chevronLocs != null) parent.AddChild (new CSharpTokenNode (Convert (chevronLocs[chevronLocs.Count - 2]), 1), InvocationExpression.Roles.LChevron); for (int i = 0; i < typeArguments.Count; i++) { if (chevronLocs != null && i > 0 && i - 1 < chevronLocs.Count) parent.AddChild (new CSharpTokenNode (Convert (chevronLocs[i - 1]), 1), InvocationExpression.Roles.Comma); var arg = (TypeParameterName)typeArguments.Args[i]; if (arg == null) continue; TypeParameterDeclaration tp = new TypeParameterDeclaration(); List<Location> varianceLocation; switch (arg.Variance) { case Variance.Contravariant: tp.Variance = VarianceModifier.Contravariant; varianceLocation = LocationsBag.GetLocations (arg); if (varianceLocation != null) tp.AddChild (new CSharpTokenNode (Convert (varianceLocation[0]), "out".Length), TypeParameterDeclaration.VarianceRole); break; case Variance.Covariant: tp.Variance = VarianceModifier.Covariant; varianceLocation = LocationsBag.GetLocations (arg); if (varianceLocation != null) tp.AddChild (new CSharpTokenNode (Convert (varianceLocation[0]), "out".Length), TypeParameterDeclaration.VarianceRole); break; default: tp.Variance = VarianceModifier.Invariant; break; } AddAttributeSection (tp, arg.OptAttributes); switch (arg.Variance) { case Variance.Covariant: tp.Variance = VarianceModifier.Covariant; break; case Variance.Contravariant: tp.Variance = VarianceModifier.Contravariant; break; } tp.AddChild (Identifier.Create (arg.Name, Convert (arg.Location)), InvocationExpression.Roles.Identifier); parent.AddChild (tp, InvocationExpression.Roles.TypeParameter); } if (chevronLocs != null) parent.AddChild (new CSharpTokenNode (Convert (chevronLocs[chevronLocs.Count - 1]), 1), InvocationExpression.Roles.RChevron); }
public override void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { base.VisitTypeParameterDeclaration(typeParameterDeclaration); CheckNamedResolveResult(null, typeParameterDeclaration, AffectedEntity.TypeParameter, typeParameterDeclaration.NameToken, Modifiers.None); }
public virtual void VisitTypeParameterDeclaration (TypeParameterDeclaration typeParameterDeclaration) { VisitChildren (typeParameterDeclaration); }
IEnumerable <Syntax> IAstVisitor <ILTranslationContext, IEnumerable <Syntax> > .VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, ILTranslationContext data) => OnVisiting(data, typeParameterDeclaration, VisitingTypeParameterDeclaration) ?? OnVisited(data, typeParameterDeclaration, VisitedTypeParameterDeclaration, TranslateTypeParameterDeclaration(typeParameterDeclaration, data));
public void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { StartNode(typeParameterDeclaration); WriteAttributes(typeParameterDeclaration.Attributes); switch (typeParameterDeclaration.Variance) { case VarianceModifier.Invariant: break; case VarianceModifier.Covariant: WriteKeyword(TypeParameterDeclaration.OutVarianceKeywordRole); break; case VarianceModifier.Contravariant: WriteKeyword(TypeParameterDeclaration.InVarianceKeywordRole); break; default: throw new NotSupportedException ("Invalid value for VarianceModifier"); } typeParameterDeclaration.NameToken.AcceptVisitor(this); EndNode(typeParameterDeclaration); }
public RedILNode VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration, State data) { throw new System.NotImplementedException(); }
public override void VisitTypeParameterDeclaration(TypeParameterDeclaration typeParameterDeclaration) { throw NotSupportedToConsistency(); }
void AddTypeParameters (AstNode parent, List<Location> location, Mono.CSharp.TypeArguments typeArguments) { if (typeArguments == null || typeArguments.IsEmpty) return; for (int i = 0; i < typeArguments.Count; i++) { if (location != null && i > 0 && i - 1 < location.Count) parent.AddChild (new CSharpTokenNode (Convert (location[i - 1]), 1), InvocationExpression.Roles.Comma); var arg = (TypeParameterName)typeArguments.Args[i]; if (arg == null) continue; TypeParameterDeclaration tp = new TypeParameterDeclaration(); // TODO: attributes if (arg.Variance != Variance.None) throw new NotImplementedException(); // TODO: variance tp.AddChild (new Identifier (arg.Name, Convert (arg.Location)), InvocationExpression.Roles.Identifier); parent.AddChild (tp, InvocationExpression.Roles.TypeParameter); } }