Exemplo n.º 1
0
 public TemplateParameterSymbol(TemplateParameter.Node tpn, ISemantic typeOrValue, ISyntaxRegion paramIdentifier = null)
     : base(tpn, AbstractType.Get(typeOrValue), paramIdentifier)
 {
     IsKnowinglyUndetermined = TemplateInstanceHandler.IsNonFinalArgument(typeOrValue);
     this.Parameter          = tpn.TemplateParameter;
     this.ParameterValue     = typeOrValue as ISymbolValue;
 }
Exemplo n.º 2
0
            public AbstractType Visit(TemplateParameter.Node tpn)
            {
                TemplateParameterSymbol tpnBase;

                //TODO: Resolve the specialization type
                //var templateParameterType = TemplateInstanceHandler.ResolveTypeSpecialization(tmp, ctxt);

                if (ctxt.GetTemplateParam(tpn.NameHash, out tpnBase) && tpnBase.Parameter == tpn.TemplateParameter)
                {
                    return(tpnBase);
                }

                return(new TemplateParameterSymbol(tpn, null, typeBase));
            }
Exemplo n.º 3
0
 public string Visit(TemplateParameter.Node templateParameterNode)
 {
     return(TemplateType);                // ? or a more special type ?
 }
Exemplo n.º 4
0
 public IconId Visit(TemplateParameter.Node n)
 {
     return(iconIdWithProtectionAttr(n, "template"));
 }
Exemplo n.º 5
0
 public ulong Visit(TemplateParameter.Node templateParameterNode)
 {
     return(1000121);
 }
Exemplo n.º 6
0
 public TemplateParameterSymbol(TemplateParameter.Node tpn, ISemantic typeOrValue, ISyntaxRegion paramIdentifier = null)
     : base(tpn, AbstractType.Get(typeOrValue), paramIdentifier)
 {
     this.Parameter      = tpn.TemplateParameter;
     this.ParameterValue = typeOrValue as ISymbolValue;
 }
Exemplo n.º 7
0
 public CompletionItemKind Visit(TemplateParameter.Node n)
 {
     return(CompletionItemKind.TypeParameter);
 }
Exemplo n.º 8
0
 public byte Visit(TemplateParameter.Node templateParameterNode)
 {
     return((byte)TypeReferenceKind.TemplateTypeParameter);
 }