Ejemplo n.º 1
0
        private void VisitKeys(KayleeParser.EntityBodyContext entityBody)
        {
            // This nesting is caused by the fact that there can be multiple
            // "keys" blocks in a single entity, so we have to dive 2
            // levels deep.
            var keysBodies = entityBody.entityKeys().Select(k => k.entityKeysBody());

            foreach (var body in keysBodies)
            {
                var primaryKeys = body.entityKeyPrimary();
                foreach (var key in primaryKeys)
                {
                    var keyListener = new PrimaryKeyListener(Entity);
                    key.EnterRule(keyListener);
                }
                var uniqueKeys = body.entityKeyUnique();
                foreach (var key in uniqueKeys)
                {
                    var keyListener = new UniqueKeyListener(Entity);
                    key.EnterRule(keyListener);
                }
                var referenceKeys = body.entityKeyReference();
                foreach (var key in referenceKeys)
                {
                    var keyListener = new ReferenceKeyListener(Entity);
                    key.EnterRule(keyListener);
                }
            }
        }
Ejemplo n.º 2
0
        private void VisitEntities(KayleeParser.EntityBodyContext body)
        {
            var entities = body.entity();

            foreach (var entity in entities)
            {
                var entityListener = new EntityListener(Entity.Schema, Entity);
                entity.EnterRule(entityListener);
            }
        }
Ejemplo n.º 3
0
        private void VisitMutations(KayleeParser.EntityBodyContext entityBody)
        {
            // This nesting is caused by the fact that there can be multiple
            // "mutations" blocks in a single entity, so we have to dive 2
            // levels deep.
            var mutationsBodies = entityBody.mutations().Select(m => m.mutationsBody());

            foreach (var body in mutationsBodies)
            {
                var mutations = body.mutation();
                foreach (var mutation in mutations)
                {
                    var mutationListener = new MutationListener(Entity);
                    mutation.EnterRule(mutationListener);
                }
            }
        }
Ejemplo n.º 4
0
        private void VisitFields(KayleeParser.EntityBodyContext entityBody)
        {
            // This nesting is caused by the fact that there can be multiple
            // "fields" blocks in a single entity, so we have to dive 2
            // levels deep.
            var fieldsBodies = entityBody.fields().Select(f => f.fieldsBody());

            foreach (var body in fieldsBodies)
            {
                var fields = body.field();
                foreach (var field in fields)
                {
                    var fieldListener = new FieldListener(Entity);
                    field.EnterRule(fieldListener);
                }
            }
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="KayleeParser.entityBody"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitEntityBody([NotNull] KayleeParser.EntityBodyContext context)
 {
 }