MCPcopy Create free account
hub / github.com/antlr/codebuff / rawDefineTemplate

Method rawDefineTemplate

output/java/1.4.19/STGroup.java:435–461  ·  view source on GitHub ↗
(String name, CompiledST code, Token defT)

Source from the content-addressed store, hash-verified

433 }
434
435 public void rawDefineTemplate(String name, CompiledST code, Token defT) {
436 CompiledST prev = rawGetTemplate(name);
437 if ( prev!=null ) {
438 if ( !prev.isRegion ) {
439 errMgr.compileTimeError(ErrorType.TEMPLATE_REDEFINITION, null, defT);
440 return;
441 }
442 else {
443 if ( code.regionDefType!= ST.RegionType.IMPLICIT &&
444 prev.regionDefType== ST.RegionType.EMBEDDED ) {
445 errMgr.compileTimeError(ErrorType.EMBEDDED_REGION_REDEFINITION, null, defT, getUnMangledTemplateName(name));
446 return;
447 }
448 else if ( code.regionDefType== ST.RegionType.IMPLICIT ||
449 prev.regionDefType== ST.RegionType.EXPLICIT ) {
450 errMgr.compileTimeError(ErrorType.REGION_REDEFINITION,
451 null,
452 defT,
453 getUnMangledTemplateName(name));
454 return;
455 }
456 }
457 }
458 code.nativeGroup = this;
459 code.templateDefStartToken = defT;
460 templates.put(name, code);
461 }
462
463 public void undefineTemplate(String name) {
464 templates.remove(name);

Callers 5

defineTemplateMethod · 0.95
defineTemplateAliasMethod · 0.95
defineRegionMethod · 0.95
loadTemplateFileMethod · 0.45

Calls 4

rawGetTemplateMethod · 0.95
compileTimeErrorMethod · 0.65
putMethod · 0.65

Tested by

no test coverage detected