private TypeCompilerEnvironment (CST.Global global, IImSeq <CST.SkolemDef> skolemDefs, CST.AssemblyDef assembly, CST.TypeDef type, IImSeq <CST.TypeRef> typeBoundArguments, CompilerEnvironment env, JST.NameSupply nameSupply, JST.Identifier rootId, JST.Identifier assemblyId, JST.Identifier typeId, IImSeq <JST.Identifier> typeBoundTypeParameterIds, TypeTrace typeTrace) : base( global, skolemDefs, assembly, type, typeBoundArguments) { this.env = env; NameSupply = nameSupply; this.rootId = rootId; this.assemblyId = assemblyId; this.typeId = typeId; TypeBoundTypeParameterIds = typeBoundTypeParameterIds; boundAssemblies = new Map <CST.AssemblyName, JST.Expression>(); boundTypes = new Map <CST.TypeRef, ExpressionAndPhase>(); this.typeTrace = typeTrace; }
private MethodCompilerEnvironment (CST.Global global, IImSeq <CST.SkolemDef> skolemDefs, CST.AssemblyDef assembly, CST.TypeDef type, IImSeq <CST.TypeRef> typeBoundArguments, CST.MethodDef method, IImSeq <CST.TypeRef> methodBoundArguments, IMap <JST.Identifier, CST.Variable> variables, IImSeq <JST.Identifier> valueParameterIds, IImSeq <JST.Identifier> localIds, CompilerEnvironment env, JST.NameSupply nameSupply, JST.Identifier rootId, JST.Identifier assemblyId, JST.Identifier typeDefinitionId, JST.Identifier methodId, IImSeq <JST.Identifier> typeBoundTypeParameterIds, IImSeq <JST.Identifier> methodBoundTypeParameterIds, TypeTrace typeTrace) : base( global, skolemDefs, assembly, type, typeBoundArguments, method, methodBoundArguments, variables, valueParameterIds, localIds) { this.env = env; NameSupply = nameSupply; this.rootId = rootId; this.assemblyId = assemblyId; this.typeDefinitionId = typeDefinitionId; MethodId = methodId; TypeBoundTypeParameterIds = typeBoundTypeParameterIds; MethodBoundTypeParameterIds = methodBoundTypeParameterIds; boundAssemblies = new Map <CST.AssemblyName, JST.Expression>(); boundTypes = new Map <CST.TypeRef, JST.Expression>(); boundVariablePointers = new Map <JST.Identifier, JST.Expression>(); this.typeTrace = typeTrace; }