예제 #1
0
        protected bool doValidateContents(EObject eObject, DiagnosticChain diagnostics, Dictionary <Object, Object> context)
        {
            List <EObject> eContents = eObject.eContents();


            if (eContents.Count > 0)
            {
                bool result = true;
                foreach (EObject child in eContents)
                {
                    result &= validate(child, diagnostics, context);
                }

                return(result);
            }
            else
            {
                return(true);
            }
        }
예제 #2
0
        private EObject resolveRecurr(Queue <String> path, EObject current)
        {
            if (path.Count == 0)
            {
                return(current);
            }

            String segment = path.Dequeue();

            foreach (EObject content in current.eContents())
            {
                if (content is ENamedElement)
                {
                    if ((content as ENamedElement).name == segment)
                    {
                        return(resolveRecurr(path, content));
                    }
                }
            }

            return(null);
        }