/* * Copyright (c) 2012 Sam Harwell, Tunnel Vision Laboratories LLC * All rights reserved. * * The source code of this document is proprietary work, and is not licensed for * distribution. For information about licensing, contact Sam Harwell at: * sam@tunnelvisionlabs.com */ package org.antlr.works.editor.st4.experimental; import org.antlr.netbeans.editor.text.DocumentSnapshot; import org.antlr.v4.runtime.Dependents; import org.antlr.v4.runtime.RuleDependency; import org.antlr.works.editor.st4.experimental.generated.TemplateParser; import org.antlr.works.editor.st4.experimental.generated.TemplateParser.GroupContext; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; import org.netbeans.api.annotations.common.NullAllowed; /** * * @author Sam Harwell */ public class CurrentTemplateContextData { @NonNull private final DocumentSnapshot snapshot; @NullAllowed @RuleDependency(recognizer=TemplateParser.class, rule=TemplateParser.RULE_group, version=0, dependents=Dependents.SELF) private final GroupContext context; @RuleDependency(recognizer=TemplateParser.class, rule=TemplateParser.RULE_group, version=0, dependents=Dependents.SELF) public CurrentTemplateContextData(@NonNull DocumentSnapshot snapshot, @NullAllowed GroupContext context) { this.snapshot = snapshot; this.context = context; } @NonNull public DocumentSnapshot getSnapshot() { return snapshot; } @CheckForNull @RuleDependency(recognizer=TemplateParser.class, rule=TemplateParser.RULE_group, version=0, dependents=Dependents.SELF) public GroupContext getContext() { return context; } public String getTemplateName() { if (context == null) { return null; } // TODO: return proper template name return null; } }