Exemplo n.º 1
0
        /// <summary>
        /// For the given parent symbol this method extracts an identifier from the given node and
        /// returns it if it isn't already used for a child symbol of the parent symbol's scope.
        /// Else it raises a generator exception
        /// </summary>
        /// <param name="parentObject"></param>
        /// <param name="node"></param>
        /// <returns></returns>
        protected string TranslateChildSymbolName(IIronyAstObjectWithScope parentObject, ParseTreeNode node)
        {
            //Read the name of the new child symbol
            var childSymbolName = GenUtils.Translate_Identifier(node);

            //Make sure the child symbol name is not used inside the parent scope
            if (parentObject.ChildScope.SymbolExists(childSymbolName))
            {
                CompilationLog.RaiseGeneratorError <int>("Child symbol name already used", node);
            }

            return(childSymbolName);
        }
Exemplo n.º 2
0
 public static CommandBlock Create(IIronyAstObjectWithScope parentObject, string localVariableRoleName)
 {
     return(new CommandBlock(parentObject.ChildScope, localVariableRoleName));
 }
Exemplo n.º 3
0
 public static CommandBlock Create(IIronyAstObjectWithScope parentObject)
 {
     return(new CommandBlock(parentObject.ChildScope));
 }
Exemplo n.º 4
0
 internal bool ContainsScope(IIronyAstObjectWithScope scopeSymbol)
 {
     return(ContainsScope(scopeSymbol.ChildScope));
 }
Exemplo n.º 5
0
 internal GMacRefResContextInfo(IIronyAstObjectWithScope scopeSymbol)
 {
     MainScope = scopeSymbol.ChildScope;
 }
Exemplo n.º 6
0
 internal GMacRefResContextInfo CloseScope(IIronyAstObjectWithScope scopeSymbol)
 {
     return(CloseScope(scopeSymbol.ChildScope));
 }
Exemplo n.º 7
0
 public new static CompositeExpression Create(IIronyAstObjectWithScope parentObject, string localVariableRoleName)
 {
     return(new CompositeExpression(parentObject.ChildScope, localVariableRoleName));
 }
Exemplo n.º 8
0
 public new static CompositeExpression Create(IIronyAstObjectWithScope parentObject)
 {
     return(new CompositeExpression(parentObject.ChildScope));
 }