2 * Copyright(c) 2022 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Collections.Generic;
25 namespace Tizen.NUI.Xaml.Build.Tasks
29 public ILContext(ILProcessor il, MethodBody body, List<Instruction> insOfAddEvent, ModuleDefinition module, string embeddedResourceNameSpace, FieldDefinition parentContextValues = null)
33 InsOfAddEvent = insOfAddEvent;
34 Values = new Dictionary<INode, object>();
35 Variables = new Dictionary<IElementNode, VariableDefinition>();
36 Scopes = new Dictionary<INode, Tuple<VariableDefinition, IList<string>>>();
37 TypeExtensions = new Dictionary<INode, TypeReference>();
38 EmbeddedResourceNameSpace = embeddedResourceNameSpace;
39 ParentContextValues = parentContextValues;
43 public Dictionary<INode, object> Values { get; private set; }
45 public Dictionary<IElementNode, VariableDefinition> Variables { get; private set; }
47 public Dictionary<INode, Tuple<VariableDefinition, IList<string>>> Scopes { get; private set; }
49 public Dictionary<INode, TypeReference> TypeExtensions { get; }
51 public string EmbeddedResourceNameSpace { get; }
53 public FieldDefinition ParentContextValues { get; private set; }
55 public object Root { get; set; } //FieldDefinition or VariableDefinition
57 public ILProcessor IL { get; private set; }
59 public MethodBody Body { get; private set; }
61 public List<Instruction> InsOfAddEvent { get; private set; }
63 public ModuleDefinition Module { get; private set; }