private bool TryGetTypeFromSimpleTypeSignature(ref NativeParser parser, NativeFormatModuleInfo moduleHandle, out RuntimeTypeHandle typeHandle) { uint data; TypeSignatureKind kind = parser.GetTypeSignatureKind(out data); if (kind == TypeSignatureKind.Lookback) { var lookbackParser = parser.GetLookbackParser(data); return(TryGetTypeFromSimpleTypeSignature(ref lookbackParser, moduleHandle, out typeHandle)); } else if (kind == TypeSignatureKind.External) { typeHandle = GetExternalTypeHandle(moduleHandle, data); return(true); } else if (kind == TypeSignatureKind.BuiltIn) { typeHandle = ((WellKnownType)data).GetRuntimeTypeHandle(); return(true); } // Not a simple type signature... requires more work to skip typeHandle = default(RuntimeTypeHandle); return(false); }
private bool TryGetTypeFromSimpleTypeSignature(ref NativeParser parser, out RuntimeTypeHandle typeHandle) { uint data; TypeSignatureKind kind = parser.GetTypeSignatureKind(out data); if (kind == TypeSignatureKind.Lookback) { var lookbackParser = parser.GetLookbackParser(data); return(TryGetTypeFromSimpleTypeSignature(ref lookbackParser, out typeHandle)); } else if (kind == TypeSignatureKind.External) { typeHandle = GetExternalTypeHandle(ref parser, data); return(true); } // Not a simple type signature... requires more work to skip typeHandle = default(RuntimeTypeHandle); return(false); }
: super(TypeSignatureKind.ArrayType, "[" + elementType.Name) {
ClassTypeSignature(TypeSignatureKind typeSignatureKind, String name) : super(typeSignatureKind, name) {
WildcardTypeSignature(TypeSignatureKind typeSignatureKind, TypeSignature bound) : super(typeSignatureKind, "*") {
protected TypeSignature(TypeSignatureKind typeSignatureKind, String name) { this.TypeSignatureKind = typeSignatureKind; this.Name = name; }
: super(TypeSignatureKind.FormalTypeParameter, name) { formalTypeParameterBounds = new ArrayList<TypeSignature>(); }
: super(TypeSignatureKind.TypeVariable, name) { }
PrimitiveTypeSignature(TypeSignatureKind typeSignatureKind, String name) : super(typeSignatureKind, name) {
ClassTypeSignature(TypeSignatureKind typeSignatureKind, String name) : super(typeSignatureKind, name)
protected TypeSignature(TypeSignatureKind typeSignatureKind, String name) { this.TypeSignatureKind = typeSignatureKind; this.Name = name; }
WildcardTypeSignature(TypeSignatureKind typeSignatureKind, TypeSignature bound) : super(typeSignatureKind, "*")
PrimitiveTypeSignature(TypeSignatureKind typeSignatureKind, String name) : super(typeSignatureKind, name)