private void CreateTypesTable() { TypesTable = new TypesTable.TypesTable(); TypesTable.StandardLibraryCreator sLC = new TypesTable.StandardLibraryCreator(); sLC.CreateStandardLibrary(TypesTable); // Docasna podpora pro typy v Tournaments.eXo Class date = new Class(TypesTable, TypesTable.Library.RootNamespace, "Date"); date.Operations.Add(new Operation("after", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) })); date.Operations.Add(new Operation("before", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) })); date.Operations.Add(new Operation("equals", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) })); date.Operations.Add(new Operation("trunc", true, date, new Parameter[] { })); date.Operations.Add(new Operation("=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation("<=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation("<", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation(">", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation(">=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); // TypesTable.Library.RootNamespace.NestedClassifier.Add(date); TypesTable.RegisterType(date); Class matchesStatus = new Class(TypesTable, TypesTable.Library.RootNamespace, "MatchStatus"); // TypesTable.Library.RootNamespace.NestedClassifier.Add(matchesStatus); TypesTable.RegisterType(matchesStatus); TranslateSchema(Schema); }
private void CreateTypesTable() { Library.StandardTypeName naming = new OCL.TypesTable.Library.StandardTypeName(); naming.Any = "any"; naming.Boolean = "boolean"; naming.Integer = "integer"; naming.Invalid = "invalid"; naming.Message = "message"; naming.Real = "double"; naming.String = "string"; naming.Type = "type"; naming.UnlimitedNatural = "unlimitedNatural"; naming.Void = "void"; TypesTable = new TypesTable.TypesTable(naming); TypesTable.StandardLibraryCreator sLC = new TypesTable.StandardLibraryCreator(); sLC.CreateStandardLibrary(TypesTable); #region XML schema additional primitive types var @decimal = new Classifier(TypesTable, TypesTable.Library.RootNamespace, "decimal", TypesTable.Library.Integer); TypesTable.RegisterType(@decimal); var date = new Classifier(TypesTable, TypesTable.Library.RootNamespace, "date"); TypesTable.RegisterType(date); #endregion // Docasna podpora pro typy v Tournaments.eXo date.Operations.Add(new Operation("after", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) })); date.Operations.Add(new Operation("before", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) })); date.Operations.Add(new Operation("equals", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) })); date.Operations.Add(new Operation("trunc", true, date, new Parameter[] { })); date.Operations.Add(new Operation("=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation("<=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation("<", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation(">", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); date.Operations.Add(new Operation(">=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) })); TypesTable.RegisterType(date); // TypesTable.Library.RootNamespace.NestedClassifier.Add(date); Class dateTime = new Class(TypesTable, TypesTable.Library.RootNamespace, "dateTime"); dateTime.Operations.Add(new Operation("after", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", dateTime) })); dateTime.Operations.Add(new Operation("before", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", dateTime) })); dateTime.Operations.Add(new Operation("equals", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", dateTime) })); dateTime.Operations.Add(new Operation("trunc", true, dateTime, new Parameter[] { })); dateTime.Operations.Add(new Operation("getDate", true, dateTime, new Parameter[] { })); dateTime.Operations.Add(new Operation("=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) })); dateTime.Operations.Add(new Operation("<=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) })); dateTime.Operations.Add(new Operation("<", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) })); dateTime.Operations.Add(new Operation(">", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) })); dateTime.Operations.Add(new Operation(">=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) })); TypesTable.RegisterType(dateTime); // TypesTable.Library.RootNamespace.NestedClassifier.Add(dateTime); Class matchesStatus = new Class(TypesTable, TypesTable.Library.RootNamespace, "MatchStatus"); // TypesTable.Library.RootNamespace.NestedClassifier.Add(matchesStatus); TypesTable.RegisterType(matchesStatus); TranslateSchema(Schema, false); TypesTable.PerformDeferredInitializations(); }