Ignore:
Timestamp:
05/14/14 10:07:49 (10 years ago)
Author:
hkaulbersch
Message:

Changed Validation:
Validation now works between different files
-unused rule
-referenced only ones
-passthrough

File:
1 edited

Legend:

Unmodified
Added
Removed
  • v2/trunk/de.ugoe.cs.swe.bnftools.ebnf/src/de/ugoe/cs/swe/bnftools/validation/EbnfAnalysisUtils.java

    r61 r66  
    55 
    66import org.eclipse.xtext.EcoreUtil2; 
     7import org.eclipse.xtext.resource.IReferenceDescription; 
     8import org.eclipse.xtext.resource.IResourceDescription; 
     9import org.eclipse.xtext.resource.IResourceDescriptions; 
     10 
    711import de.ugoe.cs.swe.bnftools.ebnf.Atom; 
    812import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList; 
     
    8387                return rules; 
    8488        } 
     89         
     90        //---------------------------------------------------------------------------------------------------- 
     91        static public List<Rule> findReferences(Rule rule, IResourceDescriptions resourceDescriptions) { 
     92                List<Rule> ruleReferences = new ArrayList<Rule>(); 
     93                 
     94                final String ruleURIF = rule.eResource().getURIFragment(rule); 
     95                 
     96                for (IResourceDescription resourceDescription : resourceDescriptions 
     97                                .getAllResourceDescriptions()) { 
     98                        if (!resourceDescription.getURI().equals(rule.eResource().getURI())) 
     99                                continue; 
     100                         
     101                        for (IReferenceDescription referenceDescription : resourceDescription 
     102                                        .getReferenceDescriptions()) { 
     103                                if (ruleURIF.equals(referenceDescription.getTargetEObjectUri() 
     104                                                .fragment())) { 
     105                                        ruleReferences.add((Rule) rule.eResource().getEObject(referenceDescription.getTargetEObjectUri().fragment())); 
     106                                } 
     107 
     108                        } 
     109                } 
     110                return ruleReferences; 
     111        } 
    85112} 
Note: See TracChangeset for help on using the changeset viewer.