NamedTypeSymbol GetTypeFromTypeRef(PrimitiveTypeRef t) { switch (t.TypeCode) { case PhpTypeCode.Double: return(CoreTypes.Double); case PhpTypeCode.Long: return(CoreTypes.Long); case PhpTypeCode.Int32: return(CoreTypes.Int32); case PhpTypeCode.Boolean: return(CoreTypes.Boolean); case PhpTypeCode.String: return(CoreTypes.String); case PhpTypeCode.WritableString: return(CoreTypes.PhpString); case PhpTypeCode.PhpArray: return(CoreTypes.PhpArray); case PhpTypeCode.Callable: return(CoreTypes.PhpValue); // array|object|string case PhpTypeCode.Resource: return(CoreTypes.PhpResource); case PhpTypeCode.Null: return(CoreTypes.Object); // object // when merging, NULL must be handled specially (e.g. PhpValue|NULL -> PhpValue) default: throw new NotImplementedException(); } }
//public override void VisitNamedActualParam(NamedActualParam x) { // VisitSpecificElementProlog(); // SerializeToken(nameof(x.Name), x.Name.ToString(), null); // base.VisitNamedActualParam(x); //} public override void VisitPrimitiveTypeRef(PrimitiveTypeRef x) { VisitSpecificElementProlog(); SerializeToken(nameof(x.PrimitiveTypeName), x.PrimitiveTypeName.ToString(), x.Span); base.VisitPrimitiveTypeRef(x); }
NamedTypeSymbol GetTypeFromTypeRef(PrimitiveTypeRef t) { switch (t.TypeCode) { case PhpTypeCode.Double: return(CoreTypes.Double); case PhpTypeCode.Long: return(CoreTypes.Long); case PhpTypeCode.Int32: return(CoreTypes.Int32); case PhpTypeCode.Boolean: return(CoreTypes.Boolean); case PhpTypeCode.String: return(CoreTypes.String); case PhpTypeCode.WritableString: return(CoreTypes.PhpString); case PhpTypeCode.PhpArray: return(CoreTypes.PhpArray); case PhpTypeCode.Callable: return(CoreTypes.IPhpCallable); default: throw new NotImplementedException(); } }
public override void VisitPrimitiveTypeRef(PrimitiveTypeRef x) { VisitQualifiedName(x.QualifiedName.Value); }
virtual public void VisitPrimitiveTypeRef(PrimitiveTypeRef x) { // nothing }
override public void VisitPrimitiveTypeRef(PrimitiveTypeRef x) { _serializer.Serialize(typeof(PrimitiveTypeRef).Name, SerializeSpan(x.Span), new NodeObj("QualifiedName", x.QualifiedName.ToString())); }
/// <summary> /// Does not lookup existing types whether there is typeref already. /// </summary> private TypeRefMask GetPrimitiveTypeRefMaskNoCheck(PrimitiveTypeRef/*!*/typeref) { if (this.Types.Count < TypeRefMask.IndicesCount) { var index = AddToContextNoCheck(typeref); return TypeRefMask.CreateFromTypeIndex(index); } else { return TypeRefMask.AnyType; } }
private TypeRefMask GetPrimitiveTypeRefMask(PrimitiveTypeRef/*!*/typeref) { // primitive type cannot include subclasses var index = AddToContext(typeref); return TypeRefMask.CreateFromTypeIndex(index); }
public override void VisitPrimitiveTypeRef(PrimitiveTypeRef x) { _results.Push(new GenericQualifiedName(x.QualifiedName.Value)); }