mirror of
https://gitlab.com/scemama/irpf90.git
synced 2024-12-22 04:13:33 +01:00
First test OK
Version:1.1.11
This commit is contained in:
parent
98e97dbe22
commit
d5aff50367
@ -81,7 +81,7 @@ class Fmodule(object):
|
|||||||
|
|
||||||
def residual_text(self):
|
def residual_text(self):
|
||||||
if '_residual_text' not in self.__dict__:
|
if '_residual_text' not in self.__dict__:
|
||||||
from variables import build_use
|
from variables import build_use, call_provides
|
||||||
from parsed_text import move_to_top
|
from parsed_text import move_to_top
|
||||||
def remove_providers(text):
|
def remove_providers(text):
|
||||||
result = []
|
result = []
|
||||||
@ -131,7 +131,7 @@ class Fmodule(object):
|
|||||||
result = []
|
result = []
|
||||||
for vars,line in text:
|
for vars,line in text:
|
||||||
result.append( ([],line) )
|
result.append( ([],line) )
|
||||||
result += map(lambda x: ([],Simple_line(line.i," call provide_%s"%(x),line.filename)), vars)
|
result += map(lambda x: ([],Simple_line(line.i,x,line.filename)), call_provides(vars))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
result = remove_providers(self.text)
|
result = remove_providers(self.text)
|
||||||
|
@ -23,11 +23,11 @@ class Variable(object):
|
|||||||
'''Name is lowercase'''
|
'''Name is lowercase'''
|
||||||
if '_is_touched' not in self.__dict__:
|
if '_is_touched' not in self.__dict__:
|
||||||
from variables import variables
|
from variables import variables
|
||||||
result = True # False
|
result = False
|
||||||
#for i in self.children:
|
for i in self.children:
|
||||||
# if variables[i].is_touched:
|
if variables[i].is_touched:
|
||||||
# result = True
|
result = True
|
||||||
# break
|
break
|
||||||
self._is_touched = result
|
self._is_touched = result
|
||||||
return self._is_touched
|
return self._is_touched
|
||||||
is_touched = property(is_touched)
|
is_touched = property(is_touched)
|
||||||
@ -409,9 +409,8 @@ class Variable(object):
|
|||||||
if '_builder' not in self.__dict__:
|
if '_builder' not in self.__dict__:
|
||||||
if not self.is_main:
|
if not self.is_main:
|
||||||
self._builder = []
|
self._builder = []
|
||||||
if '_needs' not in self.__dict__:
|
|
||||||
import parsed_text
|
import parsed_text
|
||||||
from variables import build_use
|
from variables import build_use, call_provides
|
||||||
for filename,buffer in parsed_text.parsed_text:
|
for filename,buffer in parsed_text.parsed_text:
|
||||||
if self.line.filename[0].startswith(filename):
|
if self.line.filename[0].startswith(filename):
|
||||||
break
|
break
|
||||||
@ -423,11 +422,16 @@ class Variable(object):
|
|||||||
if line.filename[1] == same_as:
|
if line.filename[1] == same_as:
|
||||||
inside = True
|
inside = True
|
||||||
if inside:
|
if inside:
|
||||||
text.append(line)
|
text.append( (vars,line) )
|
||||||
|
text += map( lambda x: ([],Simple_line(line.i,x,line.filename)), call_provides(vars) )
|
||||||
if isinstance(line,End_provider):
|
if isinstance(line,End_provider):
|
||||||
if inside:
|
if inside:
|
||||||
break
|
break
|
||||||
name = self.name
|
name = self.name
|
||||||
|
text = parsed_text.move_to_top(text,Declaration)
|
||||||
|
text = parsed_text.move_to_top(text,Implicit)
|
||||||
|
text = parsed_text.move_to_top(text,Use)
|
||||||
|
text = map(lambda x: x[1], text)
|
||||||
for line in filter(lambda x: type(x) not in [ Begin_doc, End_doc, Doc], text):
|
for line in filter(lambda x: type(x) not in [ Begin_doc, End_doc, Doc], text):
|
||||||
if type(line) == Begin_provider:
|
if type(line) == Begin_provider:
|
||||||
result = [ "subroutine bld_%s"%(name) ]
|
result = [ "subroutine bld_%s"%(name) ]
|
||||||
|
@ -1 +1 @@
|
|||||||
version = "1.1.10"
|
version = "1.1.11"
|
||||||
|
Loading…
Reference in New Issue
Block a user