示例#1
0
        private OwType DefineType(string name)
        {
            var type = new OwType(name);

            definedTypes.Add(type);
            return(type);
        }
示例#2
0
        private string FlattenType(OwType type)
        {
            if (type.IsPrimitive)
            {
                return(type.Name);
            }

            return(string.Join(" ", Type.GetFields().Select(field => FlattenType(field.FieldType))));
        }
示例#3
0
 internal void AddMethod(OwMemberAccess access, string identifier, OwType resultType, OwParameterInfo[] parameters)
 {
     members.Add(new OwMethodInfo(this, access, identifier, resultType, parameters));
 }
示例#4
0
 internal void AddField(OwMemberAccess access, string identifier, OwType type)
 {
     members.Add(new OwFieldInfo(this, access, identifier, type));
 }
示例#5
0
 public ObjWastLocal(OwType type)
     : base(type)
 {
 }
示例#6
0
 public ObjWastLocal(string identifier, OwType type)
     : base(identifier, type)
 {
 }
示例#7
0
 internal void DefineMethod(OwMemberAccess access, string identifier, OwType resultType, OwParameterInfo[] parameters)
 {
     type.AddMethod(access, identifier, resultType, parameters);
 }
示例#8
0
 internal void DefineField(OwMemberAccess access, string identifier, OwType fieldType)
 {
     type.AddField(access, identifier, fieldType);
 }
示例#9
0
        internal override void Parse(ObjWastTranspiler transpiler)
        {
            string name = transpiler.ParseName();

            type = Module.DefineType(name);
        }