internal TypeRefContext(NamingContext naming, SourceUnit sourceUnit, SourceNamedTypeSymbol containingType) { _namingCtx = naming; _sourceUnit = sourceUnit; _typeRefs = new List <ITypeRef>(); _containingType = containingType; }
/// <summary> /// Creates type context for a method within given type, determines naming, type context. /// </summary> public static TypeRefContext /*!*/ CreateTypeRefContext(SourceNamedTypeSymbol /*!*/ containingType) { Contract.ThrowIfNull(containingType); var typeDecl = containingType.Syntax; return(new TypeRefContext(NameUtils.GetNamingContext(typeDecl), typeDecl.SourceUnit, containingType)); }
private static ImmutableArray <BoundInitializer> BindInitializersWithoutDiagnostics( SourceNamedTypeSymbol typeSymbol, ImmutableArray <ImmutableArray <FieldOrPropertyInitializer> > initializers ) { DiagnosticBag diagnostics = DiagnosticBag.GetInstance(); ImportChain unused; var boundInitializers = ArrayBuilder <BoundInitializer> .GetInstance(); Binder.BindRegularCSharpFieldInitializers( typeSymbol.DeclaringCompilation, initializers, boundInitializers, new BindingDiagnosticBag(diagnostics), firstDebugImports: out unused ); diagnostics.Verify(); diagnostics.Free(); return(boundInitializers.ToImmutableAndFree()); }
private static ImmutableArray <BoundInitializer> BindInitializersWithoutDiagnostics(SourceNamedTypeSymbol typeSymbol, ImmutableArray <ImmutableArray <FieldInitializer> > initializers) { DiagnosticBag diagnostics = DiagnosticBag.GetInstance(); try { ConsList <Imports> unused; var boundInitializers = Compiler.BindFieldInitializers( containingType: typeSymbol, scriptCtor: null, initializers: initializers, diagnostics: diagnostics, generateDebugInfo: false, firstDebugImports: out unused); var filteredDiag = diagnostics.AsEnumerable(); foreach (var diagnostic in filteredDiag) { Console.WriteLine(diagnostic); } Assert.True(filteredDiag.IsEmpty()); return(boundInitializers); } finally { diagnostics.Free(); } }
private static ImmutableArray <BoundInitializer> BindInitializersWithoutDiagnostics(SourceNamedTypeSymbol typeSymbol, ImmutableArray <ImmutableArray <FieldOrPropertyInitializer> > initializers) { DiagnosticBag diagnostics = DiagnosticBag.GetInstance(); try { ImportChain unused; var boundInitializers = Binder.BindFieldInitializers( containingType: typeSymbol, scriptCtor: null, initializers: initializers, diagnostics: diagnostics, firstImportChain: out unused); diagnostics.Verify(); return(boundInitializers); } finally { diagnostics.Free(); } }