void checkConformance ( ) { resetErrorReporter ( ) ; // to check conformance we only need to run as much as it takes to execute the SoyConformance // pass. parse ( passManagerBuilder ( ) // We have to set disableAllTypeChecking to make sure default parameter types don't // break calculating TemplateMetadata objects. This is because SoyConformancePass runs // before ResolveExpressionTypesPass which normally populates the parameter types for // default params. With disableAllTypeChecking set an earlier pass will just set those // types to unknown // TODO(lukes): change the pass continuation mechanism to avoid generating a template // registry if we halt prior to cross template passes. . disableAllTypeChecking ( ) . addPassContinuationRule ( SoyConformancePass . class , PassContinuationRule . STOP_AFTER_PASS ) ) ; throwIfErrorsPresent ( ) ; reportWarnings ( ) ; }
A simple tool to enforce conformance and only conformance .