Example #1
0
		private CppResolver(ICompilation compilation, Conversions conversions, CppTypeResolveContext context, bool checkForOverflow, bool isWithinLambdaExpression, TypeDefinitionCache currentTypeDefinitionCache, ImmutableStack<IVariable> localVariableStack, ObjectInitializerContext objectInitializerStack)
		{
			this.compilation = compilation;
			this.conversions = conversions;
			this.context = context;
			this.checkForOverflow = checkForOverflow;
			this.isWithinLambdaExpression = isWithinLambdaExpression;
			this.currentTypeDefinitionCache = currentTypeDefinitionCache;
			this.localVariableStack = localVariableStack;
			this.objectInitializerStack = objectInitializerStack;
		}
Example #2
0
 /// <summary>
 /// Pushes the type of the object that is currently being initialized.
 /// </summary>
 public void PushInitializerType(IType type)
 {
     if (type == null)
         throw new ArgumentNullException("type");
     objectInitializerStack = new ObjectInitializerContext(type, objectInitializerStack);
 }
Example #3
0
 public void PopInitializerType()
 {
     if (objectInitializerStack == null)
         throw new InvalidOperationException();
     objectInitializerStack = objectInitializerStack.prev;
 }
Example #4
0
 public ObjectInitializerContext(IType type, CSharpResolver.ObjectInitializerContext prev)
 {
     this.type = type;
     this.prev = prev;
 }
Example #5
0
		CppResolver WithObjectInitializerStack(ObjectInitializerContext stack)
		{
			return new CppResolver(compilation, conversions, context, checkForOverflow, isWithinLambdaExpression, currentTypeDefinitionCache, localVariableStack, stack);
		}
Example #6
0
			public ObjectInitializerContext(ResolveResult initializedObject, CSharpResolver.ObjectInitializerContext prev)
			{
				this.initializedObject = initializedObject;
				this.prev = prev;
			}
 public ObjectInitializerContext(ResolveResult initializedObject, TypeScriptResolver.ObjectInitializerContext prev)
 {
     this.initializedObject = initializedObject;
     this.prev = prev;
 }